gpt4 book ai didi

VB.NET SLOW 编译时间 - 没有磁盘或 CPU 事件

转载 作者:行者123 更新时间:2023-12-04 23:45:09 24 4
gpt4 key购买 nike

我们有一个用 VB.NET 编写的客户端项目。在其中一个项目中,我们有大约 100 个模块,这些模块都非常简单。它们是在对象类型之间转换的扩展方法。这是一个小片段:

Public Module ScheduleExtensions

<System.Runtime.CompilerServices.Extension()> _
Public Function ToServicesData(ByVal source As Schedule) As ScheduleServicesData
If (source IsNot Nothing) Then
Dim target As New ScheduleServicesData
With target
.CenterId = source.CenterId
.EmployeeGuid = source.EmployeeGuid
.EndDateTime = source.EndDateTime

问题是,仅这个项目就需要 2 分钟以上的时间来构建。我运行了 diskmon 和 filemon,但在构建似乎挂起时它不会访问文件系统。在大部分执行期间,CPU 使用率也很低。大约 2 分钟后,构建完成并且有磁盘和 CPU 事件。该问题可以在任何机器上重现(目前已尝试 4 台)。

我竟然使用 vbc 命令行编译项目,问题也在那里。

VB.NET 扩展方法是否存在导致编译时间不佳的问题?这是我们使用的唯一比循环/获取/设置等更复杂的功能。

最佳答案

显示没有显着 CPU 或 DISK 事件的性能问题总是与网络等待有关,无论是网络性能本身,还是更可能的是等待其他系统上服务的响应。现在我在示例中看不到任何应该有这个问题的东西,所以我必须假设问题来自你的项目中的其他东西,或者你的项目设置或你的 VS 环境,或者你的系统环境。

您可能会尝试获取一个工具,该工具可以监视系统中的所有网络调用并查看发生了什么。

关于VB.NET SLOW 编译时间 - 没有磁盘或 CPU 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1266440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com