Tag: 性能

为什么创build一个HashMap比创build一个Object 更快?

我试图构build自己的Map以增加特殊环境的性能,并且我意识到一些非常有趣的事情:创build一个new Hashmap<Integer,String>(2000)比new Object[2000]快 – 无论在哪为了执行这些命令。 这对我来说很混乱,尤其是。 因为Hashmap构造函数包含一个table = new Entry[capacity] ,据此。 我的testing平台有问题吗? public static void test(int amm){ //amm=1_000_000 Map<Integer,String> m1 = null; Object[] arr = null; long time = System.nanoTime(); for(int i = 0; i < amm; i++){ m1 = new HashMap<Integer, String>(2000); } System.out.println("m1: " + (System.nanoTime() – time)); //m1: 70_455_065 time = System.nanoTime(); […]

vector或地图,哪一个使用?

我听到很多人说,如果在容器中预期的元素数量相对较less,最好使用std::vector而不是std::map eventhough我只使用容器来查找而不是迭代。 这背后的真正原因是什么? 显然,map的查找性能不会比vector小(尽pipe可能是纳秒/微秒),这与内存使用情况有关系吗? 在虚拟地址空间的碎片化过程中,vector比地图更好还是更差? 我正在使用与Visual Studio(即微软实施)一起的STL库这是否与其他实现有什么不同?

SQL查询在.NET应用程序中速度较慢,但​​在SQL Server Management Studio中是即时的

这是SQL SELECT tal.TrustAccountValue FROM TrustAccountLog AS tal INNER JOIN TrustAccount ta ON ta.TrustAccountID = tal.TrustAccountID INNER JOIN Users usr ON usr.UserID = ta.UserID WHERE usr.UserID = 70402 AND ta.TrustAccountID = 117249 AND tal.trustaccountlogid = ( SELECT MAX (tal.trustaccountlogid) FROM TrustAccountLog AS tal INNER JOIN TrustAccount ta ON ta.TrustAccountID = tal.TrustAccountID INNER JOIN Users usr ON […]

如何找出什么是锤击我的SQL Server?

我的SQL Server CPU在今天的大部分时间里已经达到了90%左右。 由于它不断被使用,我无法重新启动它。 是否有可能找出SQL内导致这样的CPU过载? 我已经运行了SQL事件探查器,但是如此之多的事情还是很难说,如果有什么特别的东西导致它。 我运行sp_who2,但不知道什么都意味着什么,如果有可能在这里确定可能的问题。 为了抢先任何“这可能只是被用了很多”的反应,这只是今天从完全正常的活动水平踢了今天。 我之后find什么导致SQL中的CPU悲伤的方式。

当使用hash_map时,在stlstring上使用什么最好的散列algorithm?

我发现VS2005上的标准哈希函数在尝试实现高性能查找时非常缓慢。 快速有效的散列algorithm有哪些好的例子可以消除大多数的冲突?

shared_ptr:可怕的速度

当比较指针的两个变种 – classic vs. shared_ptr时,我对程序运行速度的显着提高感到惊讶。 用于testing二维Delaunay增量插入algorithm已被使用。 编译器设置: VS 2010(发布)/ O2 / MD / GL,W7 Prof,CPU 3.GHZ DualCore 结果: shared_ptr(C ++ 0x00): N[points] t[sec] 100 000 6 200 000 11 300 000 16 900 000 36 指针: N[points] t[sec] 100 000 0,5 200 000 1 300 000 2 900 000 4 shared_ptr版本的运行时间大约是10倍。 这是由编译器设置引起的还是C ++ 0x00的shared_ptr实现太慢了? VS2010探查器:对于原始指针,大约60%的时间是通过启发式search包含插入点的三angular形花费的(这是可以的,这是一个众所周知的事实)。 […]

使用哪一个,int或Integer

我需要创build一个数据传输对象,我将使用它来存储从数据库检索的logging。 在这个数据传输对象中,我需要声明一个数字字段。 对于哪一个更好 – int或Integer 如果我将字段定义为整型,那么如果我要从DB中检索超过2000条logging,将会因为“整型”types而对性能产生影响吗? 提前致谢。

从OFFSET / FETCH NEXT获取总行数

所以,我有一个函数返回一些我想在我的网站上实现分页的logging。 有人build议我在SQL Server 2012中使用偏移/取下一个来实现这一点。 在我们的网站上,我们有一个区域列出了当时的logging总数和您正在浏览的页面。 之前,我正在获取整个logging集,并能够以编程方式构build分页。 但是使用FETCH NEXT X ROWS ONLY的SQL方式,我只返回了X行,所以我不知道我的总logging集是什么,以及如何计算我的最小和最大页面。 我可以告诉这样做的唯一方法是调用函数两次,并在第一次做一个行的计数,然后运行FETCH NEXT第二。 有没有更好的方式,不会让我运行查询两次? 我正在努力加快性能,而不是放慢速度。

开销未使用的“使用”声明?

我刚刚安装了resharper,它让我知道我没有在每个类中实际使用的命名空间。 这导致我的问题 – 实际上是否有任何开销留在这些,未使用,使用声明? 这只是一个紧密的代码问题,或者当我不需要调用这些命名空间时性能会受到影响吗?

最初的10000个素数的最有效的代码?

我想打印第一个10000个素数。 任何人都可以给我这个最有效的代码? 澄清: 如果您的代码在n> 10000时效率低下,那并不重要。 代码的大小并不重要。 你不能以任何方式硬编码值。