"因为中间代码交给CLR去解释成2进制命令来执行,CLR能判断当前机器的硬件环境" 这是真的,而且方便跨平台,毕竟API是一样的
"生成的2进制命令会针对该环境优化,所以速度更快" 这TM是扯淡的,.NET自身的DLL都是ngen后在高速缓存中的.
不可能是比native更快, 至于.net和java谁快只能看实现吧
这个问题就是伪命题?
"生成的2进制命令会针对该环境优化,所以速度更快"这个是对的,确实有过优化。慢的原因就是封装啊封装啊封装。你见过一个原生的api被托管C++封装,然后再利用C#封装一层么? 我们项目中就这么用,把clr C++当作了胶水语言。
优化确实有,但是肯定不如原生的快,因为它再优化还是要clr翻译后再提交给cpu执行,哪有直接提交给cpu执行的快