C#将AssemblyVersion更改为早期版本会影响性能

C#将AssemblyVersion更改为早期版本会影响性能,c#,performance,dll,visual-studio-2013,assemblyinfo,C#,Performance,Dll,Visual Studio 2013,Assemblyinfo,我已经研究这个bug一个星期左右了,在所有试图解决它的尝试之后,我仍然没有这样做。这是这篇文章的标题。当我进入我的c#项目并将AssemblyVersion增加到一个更新的版本时,我得到了一个小的性能提升。当我减少AssemblyVersion时,我得到了显著的性能提升 此时,我正在使用AMD处理器的64位计算机上工作,如果切换到Intel计算机(也是64位),则不会出现此问题。我正在从事的项目依赖于2或3个Microsoft dll和1个dll,这些dll是由过去从事此项目的人员创建的,我无法

我已经研究这个bug一个星期左右了,在所有试图解决它的尝试之后,我仍然没有这样做。这是这篇文章的标题。当我进入我的c#项目并将AssemblyVersion增加到一个更新的版本时,我得到了一个小的性能提升。当我减少AssemblyVersion时,我得到了显著的性能提升

此时,我正在使用AMD处理器的64位计算机上工作,如果切换到Intel计算机(也是64位),则不会出现此问题。我正在从事的项目依赖于2或3个Microsoft dll和1个dll,这些dll是由过去从事此项目的人员创建的,我无法联系他们(内置于x86中)

在VisualStudio 2013中,我分析了程序集版本号递增、递减并保持不变时的性能。从我所看到的情况来看,应用程序在较慢的版本上平均使用的线程更少,并且冲突也更多

老实说,我正在接一个过去有人在做的项目,我绝对是个业余爱好者。因此,我在过去一周左右的时间里一直在努力研究AssemblyVersion和AssemblyFileVersion的具体用途,AssemblyInfo.cs是如何与项目一起构建的,以及DLL是如何与项目一起构建的。虽然我对事实还有些模糊。以下是我在研究中看到的几个地方:

我还运行了VisualStudioPerformance and Diagnostics工具,尝试以图形方式可视化cpu的应变,并查看在应用程序生命周期内调用函数的次数。所有3个选项(递增、递减、保持不变)都有运行应用程序的功能(计时器每50毫秒关闭一次),如果是较慢的版本,则运行得更多,如果是较快的版本,则运行得更少

我曾尝试将项目中使用的dll重建为x64,并将项目构建为任何CPU,但这也不起作用。在那之后,我撞到了一堵砖墙,完全不知道在哪里可以找到更多关于我遇到的问题的帮助/信息

如果从我给出的答案来看这很难回答,或者有什么不清楚的地方,我真的很抱歉。如果有人需要更清楚的解释,我会尽力回答。东部时间4点以后,我要到明天早上才能回答问题

谢谢大家


编辑*性能测量是在秒表类中进行的(我知道这是个坏主意)。GUI刷新页面结果的速度明显不同。(GUI上每秒可以显示大约3-10条消息)

您如何衡量“性能”?在版本更改前后,你是如何量化性能“提升”的?@RonBeyer感谢Ron的回复,很抱歉不清楚这一点。这实际上很重要,性能“提升”是指在每50毫秒一次的计时器中处理一个台面所需的时间。我用的是秒表类(我知道这不是最好的方法),但是秒表测量的结果有明显的不同。性能从每条消息30-40毫秒下降到每条消息80-90毫秒。您如何衡量“性能”?在版本更改前后,你是如何量化性能“提升”的?@RonBeyer感谢Ron的回复,很抱歉不清楚这一点。这实际上很重要,性能“提升”是指在每50毫秒一次的计时器中处理一个台面所需的时间。我用的是秒表类(我知道这不是最好的方法),但是秒表测量的结果有明显的不同。性能从每条消息30-40毫秒下降到每条消息80-90毫秒。