optimization相关内容
我有以下查询: 获取所需要的团队的ID列表从DB: 的IList< INT> teamIds = (从部门DbContext.sectors 其中,sector.Type = typeValue 组部门通过sector.TeamId成teamSectors 选择teamSect
..
在Visual Studio 2010专业版的构建设置面板中,有一个与标签“优化code”当然是......,我想看看一个CheckBox ......但作为异常谨慎,我问我的兄弟约它,他说,这是选中的调试和在C ++中它可能做的事情,将打破或错误的code ......但他不知道关于C#。 所以我的问题是,我可以检查这个盒子我的发布版本,而不必担心它打破我的code?第二,如果能突破code,
..
我需要优化code计数正/负价值与按时间删除非限定值。 我有值与时间戳连接队列。 我需要放弃这是1ms的旧值和计数正值和负值。这里是伪code 列表< VAL>升; V = q.dequeue(); deleteold(升,v.time); l.add(五); negcount = l.count(ⅰ=> i.value℃下); poscount = l.count(ⅰ=&
..
VAR解析度=新INT [百万] .Skip(999999)。首先(); 这将是巨大的,如果该查询将只使用,而不是遍历999999条目索引。 我看看到System.Core.dll的,发现相对于跳过()的计数()扩展方法进行了优化。如果的IEnumerable 工具的ICollection 则只是调用了计数属性。 解决方案 如果你的我以一个类似的问题的答案,它看起来好像它应该很容
..
前一段时间我写了的IList 扩展方法,通过使用索引整个列表的一部分枚举。虽然重构我实现了一个类似的查询可以通过调用执行跳过(toSkip)。取(量)。虽然这个基准测试,我注意到跳不为的IList 优化。带着几分谷歌搜索的,我结束了在乔恩斯基特后,据我理解文章,问题是不会抛出异常的优化方法,当集合被修改,但作为一个注释状态MSDN文档冲突本身。 在 IEnumerator.MoveNext()
..
我只是想加快我的.NET基客户端应用程序,并正在考虑NGEN - 荷兰国际集团的code。 杰弗里里氏写这个有关ngening code警告: •劣质加载时性能 (衍合)。当Windows加载一个 NGend文件,它会检查看看 文件加载在其preferred基地 地址。如果在文件斜面加载其 preferred基址,那么Windows 重新定位该文件,固定,所有的 存储器地址引用。这是 非常
..
我知道,.NET是JIT编译你只是在应用程序运行之前运行的架构,但确实JIT编译器优化的64位架构呢?有什么事情需要做,或认为当编程应用程序,将运行在64位系统? (IE浏览器将使用的Int64提高性能,将JIT编译器自动将32位系统的Int64工作?) 解决方案 的的 64位JIT是一个为32位不同的,所以我希望在输出一定的差异 - 但我不会切换到64位只是为了这一点,我不希望获得多大的速度
..
当处理的 双 的数据类型是通过逆更好或更差乘以? 哪种方法更快? 哪种方式使用较少的内存? 哪种方式是preferred? 如何MSIL处理? SquareInches = MMSquared / 645.16 SquareInches = MMSquared * 0.0015500031000062000124000248000496 注: 10K的用户会注意
..
我所遇到下列类型的code很多时候,我不知道这是一个很好的做法(从性能的角度来看)还是不: 尝试 { ... //一些code } 赶上(例外前) { ... // 做一点事 抛出新CustomException(前); } 基本上,在codeR正在做的是,他们一遍涵盖了异常自定义异常和投掷。 如何在性能上不同于以下两种: 尝试 { ... //一些
..
请注意,这个问题涉及到唯一的表现。让我们跳过的设计准则,经营理念,兼容性,可移植性和任何东西是没有关系的纯粹的性能。谢谢你。 现在的问题。我一直认为,因为C#getter / setter方法是真正的伪装方法,然后读公共领域必须比调用一个getter快。 因此,为了确保我做了一个测试(code以下)。不过本次测试仅产生预期的结果(即字段快于干将在34%)如果从Visual Studio
..
我想问一下你认为是最好的方法(持续时间小于/消耗更少的资源)来清除,以重新使用StringBuilder的内容。想象一下以下情形: StringBuilder的SB =新的StringBuilder(); 的foreach(VAR无论在whateverlist) { sb.Append(“{0}”,等等); } //执行与某人一些东西 这里//清除的StringBuilder //填
..
我有一个数据表/集合,缓存在内存中,我想用这个作为一个源产生结果自动完成的文本框(当然使用AJAX)。 我正在评估各种选择,以快速获取数据。 集合中的项目数/ DataTable中的行可能会有所不同,从10000至2000000。 (所以我们不得到分流,暂时假定已经作出决定,我有足够的RAM,我将使用缓存和不数据库查询本) 我对这个处理一些额外的业务逻辑;我有优先自动完成清单,每一个优先级列
..
我刚刚继承运行方式将放缓,将不得不开始优化其C#项目。我想首先要做的就是多学一点有关分析/优化,因为我没有之前做到这一点。所以,问题是我从哪里开始,我能读什么书/博客/ articels? 我不知道.NET分析器像蚂蚁探查等,但我不知道如何有效地使用它们。我还没有真正使用它,就让它在几个示例应用程序的运行,以玩的输出。 解决方案 有两个步骤优化code。 首先,你需要找出什么是缓慢的。这是
..
想象一下以下类型: 公共结构的帐户 { 公众诠释标识; 公共双倍金额; } 什么是同步的最好的算法两个的IList<帐户> C#2.0中? (无LINQ)? 的第一列表(L1)是参考列表,第二(L2)被一个根据第一同步 在L2所有帐户不再present在L1必须从L2被删除 在L2所有账户中仍然存在L1必须更新(金额属性) 所有帐户是在L 1,但尚
..
请问C#在线访问属性?我知道对JIT内联的32字节(指令?)限制,但将它内联属性或只的纯的方法调用? 解决方案 这是给了JIT(C#编译器不会做任何内联,据我所知),但我相信JIT将内联琐碎的性能在大多数情况下 请注意,它的不会的类型的内联成员 MarshalByRefObject的导出其中包括 System.Windows.Forms的。控制(通过 System.ComponentMode
..
我想知道这个信息,以减少我的code尺寸的,所以我不会浪费我的时间优化的东西会被编译或JIT来完成。 例如: 如果我们假设编译器内嵌调用属性的get函数,所以我没有保存返回值在一个局部变量,以避免函数调用。 我想推荐一个很好的参考,它描述到底是怎么回事? 解决方案 您可能想看看这些文章: JIT优化 - (萨沙Goldshtein - $ C $的CProject) JIT优化:内联
..
请忽略这个问题,code可读性。 在性能方面,应在下述code写成这样: INT maxResults = criteria.MaxResults; 如果(maxResults> 0) { 而(accounts.Count> maxResults) accounts.RemoveAt(maxResults); } 或者是这样的: 如果(criteria.M
..
我在code泛型列表,有几十或几百元的一些数字。 有时候,我需要补充与其他物体这个名单,所以问题是:什么会更快,叫清除()方法,或创建一个新名单,其中; T>?() 解决方案 这将是更快,调用Clear()方法或创建一个新的列表()? 这是不可能回答。这真的取决于很多因素,包括多长时间的收集一直存在。 这里最好的办法是: 个人的应用程序,看看这个真的很重要。它可能不会做出任
..
OK,这样的常量字符串EX pressions级联由编译器优化成一个字符串。太好了。 现在有在运行时才知道字符串字符串连接,为什么编译器不会优化字符串连接的环路,并说10多串用的串联 StringBuilder.Append 代替?我的意思是,这是可能的,对不对?实例化一个的StringBuilder ,并采取每一个串联并把它变成一个追加()电话。 时有什么理由这样的应该或可以的不可以进行优化
..
可能重复: 如何昂贵是.NET反射? 目前我在编程的心态,反思是我最好的朋友。我用了很多的内容动态加载,允许“宽松执行”,而不是严格的接口,以及大量的自定义属性。 什么是“真实”成本使用反射? 是否值得对经常反映类型的努力,已缓存的反思,比如我们自己的pre-LINQ DAL对象$ C $的所有属性表定义?ç 请问outwieght的反映CPU的使用缓存内存占用? 解决方案 反思需要
..