c# - 为什么有人应该禁用编译器优化
问题描述
一位不再在这里工作的同事不久前禁用了我们一个项目的代码优化。我无法再与他联系,并且查看他对提交所做的更改,我看不出他为什么这样做的任何原因。
我们的程序有一些很大的瓶颈,即使我不确定再次启用此选项是否会带来任何性能提升,但我会说它是更好的方法..
这里的主要问题是我们必须检查这个写得很糟糕的软件的每一点是否有任何可能需要几个月才能完成的副作用。
我的问题是,是否有任何已知的原因来说明为什么有人应该停用此选项以及出于什么原因?
解决方案
在启用该选项的情况下进行调试时,无法检查某些变量,因为它们的生命周期已被最小化。他很可能将其停用以便能够更舒适地调试。除了稍微减慢之外,对运行时间应该没有影响。
如果重新激活它有助于解决您提到的瓶颈,您始终可以尝试检查非生产环境。话虽如此,不要指望任何重大的加速。
推荐阅读
- javascript - 将指令接收到的参数重新分配给局部变量后的AngularJS然后查看不更新
- java - Libgdx Y轴,如何反转它?
- android - 如何在 Andriod Studio 应用中实现 CRUD 操作
- php - Laravel/Envoy TaskContainer line 330 Probleme
- java - 我需要使用在不同类的类内的方法中创建的多个字符串
- python - 在 Pandas 数据中删除标签时出现 KeyError
- php - 开发服务器不会停止 MacOSX 上的缓存 (Vagrant - Apache 2.4 - Centos 7.6 - php 5.6.x )
- apache-spark - 跨账户 STS 承担角色的 Pyspark S3A 访问被拒绝异常
- python - 如何使用python有效地存储和搜索二维空间的非均匀网格
- amazon-web-services - 在 CLI 创建安全组,得到 InvalidVpcID.NotFound The vpc ID does not exist