我正在开发一个基于单个网关页面的asp.net网站,该页面通常处理所有请求和响应。根据发生的情况,网关页面会调用许多类,但主网关页面中有很多代码,分成很多方法。我知道JIT编译器只会在需要时加载和JIT方法,因此我的方法越小越好。但是,我的问题是:如果我在同一个aspx.cs文件中有数千行和数百个方法,那有关系吗?我应该尝试将功能细分为较小的源文件,类和命名空间吗?或者实际上这没有太大的区别,因为.net运行时只会在必要时jit并加载每个方法?我很欣赏人们可能在这里有编码风格的贡献,但我真的很想知道.NET在技术上究竟做了什么,所以我可以根据纯粹的性能标准做出决定。非常感谢。如果我'重构',我期望看到什么样的性能差异?
答案 0 :(得分:6)
我会立即解雇任何使用25,000行代码生成单个类的人。这是对现代软件开发实践的无知的一种表现。
答案 1 :(得分:6)
个人资料,个人资料,个人资料!
您担心自己可能没有的感知性能问题。
我会更担心代码的可维护性。
答案 2 :(得分:5)
没有性能问题只是因为它在一个文件中。您遇到的问题主要是维护,缺乏对最佳实践和可测试性编码的关注。
答案 3 :(得分:1)
如果是单个类,请使用“partial class”创建多个文件。如果aspx.cs文件中有多个类,请将每个类放在自己的文件中。它不会实现任何性能提升,但会使您的代码更加易于维护
答案 4 :(得分:0)
除了创建一个更易于维护的解决方案之外,我认为你不会从中获得任何东西。如果您遇到性能问题,而不是试图破解JIT,为什么不升级您的硬件。
专注于制作高质量,易维护的产品,让JIT编译器尽其所能。
答案 5 :(得分:0)
性能差异很小,但在大多数情况下,完美表现(几乎)无关紧要。与进行小幅更改所需的40小时开发人员时间相比,节省的毫秒数或更少。该计划必须执行很多,值得花时间。
答案 6 :(得分:0)
有几点需要注意
重构代码或将代码分成多个文件不会有任何问题 最终编译所有类的性能优势。但它会对你有所帮助 管理你的代码。如果你能管理它们就没问题了。
当请求发送到服务器时,发回的最终响应是html,并且生成该html的方式无关紧要。
在我看来,将代码重构或分离为多个文件不会提高应用程序的性能,但可能会提高编码性能。