native code versus interpreters