草庐IT

CPU性能

全部标签

c# - Entity Framework 包括性能

我一直在关注EntityFramework的性能,尤其是Includes的使用以及生成和执行各种查询所花费的时间。我将详细说明我所做的更改,但如果您认为这些假设有任何错误,请纠正我。首先,我们在一个数据库中有大约10,000个项目(不多),并且数据库已显着规范化(这导致了大量的导航属性)。目前的做法是延迟加载所有内容,考虑到请求一个项目可以分流出数十个DB请求,性能非常差,尤其是对于较大的数据集。(这是一个继承项目,第一步是尝试在不进行重大重组的情况下提高性能)因此,我的第一步是获取查询结果,然后仅将导航属性的Includes应用于这些结果。我知道这在技术上执行了2个查询,但如果我们存

c# - 即使进程尚未退出,进程的性能计数器实例名称是否可以更改

我将此类用作一类测试的基类,这些测试启动进程并为其提供一些输入并等待其空闲,然后再为其提供更多输入。publicabstractclassTestProcessLaunchingBase{protectedPerformanceCounterPerfCounter{get;set;}protectedvoidWaitForProcessIdle(){while(true){floatoldValue=PerfCounter.NextValue();Thread.Sleep(1000);floatnextValue=PerfCounter.NextValue();if(nextValue

c# - LINQ to SQL 的编译查询什么时候提高性能

我指的是anarticle它侧重于加速LINQtoSQL查询。它提到的技术之一是“使用编译查询”,并解释了如何使用它。我想看到编译查询的性能改进,因此我尝试了作者提供的相同示例。我使用NorthwindDb作为数据上下文。我尝试了正常执行和编译查询执行,并在LINQPAD上检查了它们。首先,我尝试使用CompileQuery不执行查询。耗时2.065秒。varoo=fromoinOrderswhereo.OrderDetails.Any(p=>p.UnitPrice>100)selecto;oo.Dump("Orderitemswithunitpricemorethan$100");v

c# - 损坏的性能计数器?

性能计数器是邪恶的。不要使用它们。if(PerformanceCounterCategory.Exists("ILoveYou"))//istrue{PerformanceCounterCategory.Delete("ILoveYou");//throwsexceptionThe**configurationregistry**keyisinvalid}atSystem.Diagnostics.PerformanceCounterLib.RegisterFiles(Stringarg0,Booleanunregister)atSystem.Diagnostics.Performanc

C#,在 for..loop 中声明一个变量,它会降低性能吗?

这个问题在这里已经有了答案:Referencetypevariablerecycling-isanewreferencevariablecreatedeveryloopinaloopifdeclaredtherein?(3个答案)关闭6年前。例如:for(i=0;i它会导致性能或内存泄漏吗?为什么我这样做,因为我不想在for..loop之外访问“myvar”。它是任何性能监视器,我可以比较两个片段或整个程序之间的执行时间?谢谢。

c# - Where 子句之前的 OrderBy 子句 - 性能?

这个问题在这里已经有了答案:DoestheorderofLINQfunctionsmatter?(7个答案)关闭5年前。我试图了解在像这样的Where子句之前使用OrderBy子句是否会影响性能:Listnames=newList{//...};varns=names.OrderBy(n=>n).Where(n=>n.Length==5);或者编译器会重新安排指令以便Where子句在OrderBy子句之前执行?

c# - 分配相同大小的对象是否会提高 GC 或 "new"性能?

假设我们要创建许多字节数组类型的小对象。大小各不相同,但总是低于1024字节,比如780,256,953....如果我们始终只分配bytes[1024],并且只使用需要的空间,是否会随着时间的推移提高operatornew或GC效率?UPD:这是短暂的生命对象,为解析二进制协议(protocol)消息而创建。UPD:在这两种情况下,对象的数量是相同的,只是分配的大小发生了变化(随机vs.总是1024)。在C++中,由于碎片化和C++的新性能,这很重要。但是在C#中.... 最佳答案 Willitimproveoperatornewo

c# - LINQ 中的 OrderBy 和 Top 性能良好

从一个非常大的集合中获取前10条记录并使用自定义OrderBy的好方法是什么?如果我使用LINQtoObjectsOrderBy方法,它会很慢并且会占用大量内存,因为它会使用新顺序创建一个全新的集合。我想要一个带有下面签名的新方法,它不会重新排序整个集合并且速度非常快:publicstaticIEnumerableOrderByTop(IEnumerablesource,FunckeySelector,IComparercomparer,inttopCount)我尝试编写它,但它变得非常复杂,我认为使用Aggregate或其他东西可能有更简单的方法。任何帮助将不胜感激。

c# - 获取 CPU 和 RAM 使用情况

我需要在进程执行期间获取ram内存和CPU使用率(该进程有时会运行30分钟以上)。我能够获得空闲RAM,但与任务管理器中的值相比,CPU使用率不正确。难道我做错了什么?这是我的代码:classProgram{staticListAvailableCPU=newList();staticListAvailableRAM=newList();protectedstaticPerformanceCountercpuCounter;protectedstaticPerformanceCounterramCounter;staticvoidMain(string[]args){cpuCounte

c# - 嵌套的 Parallel.For() 循环速度和性能

我有一个嵌套的for循环。我用Parallel.For()替换了第一个For,计算速度提高了。我的问题是关于用Parallel.For()替换第二个for(内部)。会提高速度吗?或者没有区别?还是会变慢?编辑:由于内核不是无限的(通常有2到8个内核),因此内部循环是并行运行的。因此,如果我用Parallel.For()更改内部for,它会再次并行运行。但我不确定它如何改变性能和速度。 最佳答案 来自“太细粒度,太粗粒度”小节,“反模式”部分在"Patternsofparallelprogramming"通过.NETparallelc