我最近对一些代码进行了一些分析,发现对 BitConverter 的调用消耗了最大的 CPU 使用率,例如:
return BitConverter.ToInt16(new byte[] { byte1, byte2 });
当切换到类似的东西时:
return (short)(byte1 << 8 | byte2);
我注意到性能有了很大的提高。
我的问题是为什么使用 BitConverter 这么慢?我会假设 BitConverter 本质上是在内部进行相同类型的位移。