Questions tagged «performance»

对于与代码的度量或改进以及应用程序效率有关的问题。

17
如何使Emacs的启动速度更快?
我在Linux上将Emacs v。22(控制台版本,通过PuTTY远程或通过Konsole在本地)用作我的主要文本编辑器。每次我启动它都需要一段时间才能加载,尽管几乎没有计时,但可能要花将近一秒钟的时间。我倾向于频繁地打开和关闭Emacs,因为使用Bash命令行进行文件/目录操作和编译更加舒适。 如何加快启动时间?

4
在Python中创建随机整数列表
我想创建一个随机的整数列表以进行测试。数字的分布并不重要。唯一要数的是时间。我知道生成随机数是一项耗时的任务,但是必须有更好的方法。 这是我当前的解决方案: import random import timeit # Random lists from [0-999] interval print [random.randint(0, 1000) for r in xrange(10)] # v1 print [random.choice([i for i in xrange(1000)]) for r in xrange(10)] # v2 # Measurement: t1 = timeit.Timer('[random.randint(0, 1000) for r in xrange(10000)]', 'import random') # v1 t2 = timeit.Timer('random.sample(range(1000), …

6
Jmeter替代品[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我正在寻找JMeter的免费软件/更简单的替代产品。这是一个非常完整但复杂的工具,我需要做的是模拟对站点的同时调用,获取有关性能的统计信息(响应时间),并查看它可以承受多少并发调用而不会中断。抛出一些图表将很有用。

6
在使用ConcurrentMap的putIfAbsent之前是否应该检查地图是否包含Key
我一直在使用Java的ConcurrentMap作为可从多个线程使用的地图。putIfAbsent是一种很棒的方法,比使用标准映射操作更容易读/写。我有一些看起来像这样的代码: ConcurrentMap<String, Set<X>> map = new ConcurrentHashMap<String, Set<X>>(); // ... map.putIfAbsent(name, new HashSet<X>()); map.get(name).add(Y); 在可读性方面,这很棒,但是每次都需要创建一个新的HashSet,即使它已经在地图中了。我可以这样写: if (!map.containsKey(name)) { map.putIfAbsent(name, new HashSet<X>()); } map.get(name).add(Y); 进行此更改后,它将失去一些可读性,但无需每次都创建HashSet。在这种情况下哪个更好?我倾向于第一个,因为它更具可读性。第二个将表现更好,并且可能更正确。也许有比这两种方法更好的方法。 以这种方式使用putIfAbsent的最佳实践是什么?

8
使用浮点数快两倍吗?
双精度值存储更高的精度,并且是浮点数的两倍,但是Intel CPU是否针对浮点数进行了优化? 也就是说,对于+,-,*和/,双精度运算是否与浮点运算一样快或更快? 对于64位体系结构,答案是否会改变?

10
使用JDBC进行批处理INSERTS的有效方法
在我的应用程序中,我需要执行很多插入操作。它是一个Java应用程序,我正在使用普通的JDBC执行查询。该数据库是Oracle。我已经启用了批处理,所以它节省了我执行查询所需要的网络延迟。但是查询作为独立的INSERT顺序执行: insert into some_table (col1, col2) values (val1, val2) insert into some_table (col1, col2) values (val3, val4) insert into some_table (col1, col2) values (val5, val6) 我想知道以下形式的INSERT是否会更有效: insert into some_table (col1, col2) values (val1, val2), (val3, val4), (val5, val6) 即将多个INSERT折叠成一个。 还有其他使批处理INSERT更快的技巧吗?
71 java  sql  performance  jdbc 

21
Visual Studio生成非常慢
这适用于2008和2010版本(可能也适用于早期版本)。同样适用于C ++和C#项目。 初始构建(重新引导后)以正常速度运行,并具有相当好的CPU使用率。经过“一段时间”(即使用计算机进行“填充”),随后的构建可能会非常非常缓慢地运行,并且CPU使用率非常低。我发现的唯一解决方法似乎是重新启动,然后循环又重新开始。WPF和非WPF项目均会发生这种情况,尽管使用WPF的情况要差10倍。 我在不同的机器上发生了这种事情,甚至在不同的组织中工作,所以我认为这是Visual Studio的事情,而不是环境的事情。我已经尝试了平常的方法(Google,关闭AV,Intellisense,Resharper等,并且目前期待获得订购的SSD)。 我当前的计算机规格是2.7gig四核,4GB RAM,XP(尚未运行Win7),250Gb硬盘等 任何人都知道这可能是什么以及如何解决? 提前致谢!


5
Hibernate Criteria vs HQL:哪个更快?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 1年前关闭。 改善这个问题 我一直在阅读一些答案,但我仍然感到困惑。为什么?因为您提到的差异与性能无关。它们易于使用。(Objetc(条件)和SQL(hql))。但是由于某些原因,我想知道“条件”是否比hql慢。 我在另一个答案中读到了 “ HQL和criteriaQuery在性能方面有所不同,每次您使用criteriaQuery触发查询时,它都会为表名创建一个新别名,该别名不会反映在任何数据库的上次查询缓存中。这导致了开销编译生成的SQL,需要更多时间来执行。” 由Varun Mehta提供。 这是非常接近但!我在另一个网站(http://gary-rowe.com/agilestack/tag/hibernate/)上阅读过Hibernate 3.3及更高版本不再是这种情况(请阅读:9)Hibernate运行缓慢,因为Criteria接口不一致) 我已经做了一些测试,试图找出差异,但是两者都会生成qry,并且不会更改表的别名。 我很困惑 如果有人知道主要原因,请您能帮助我们。谢谢

7
向量或地图,使用哪一个?
我听过很多人说,如果容器中期望的元素数量相对较少,那么最好使用std::vector而不是std::map使用容器,即使您仅将容器用于查找而不是迭代。 这背后的真正原因是什么? 显然,的查询性能std::map不会比std::vector(尽管可能会相差十亿分之一秒/微秒)差,但是它与内存使用情况有关吗? 是否std::vector比分std::map段虚拟地址空间更好/更糟糕? 我正在使用Visual Studio附带的STL库(即Microsoft的实现)。与其他实现相比,这有什么区别吗?
71 c++  performance  stl 

10
去GC还是不去GC
我最近看了两个非常有趣且具有教育意义的语言讲座: Herb Sutter撰写的第一篇文章介绍了C ++ 0x的所有出色功能,凉爽的功能,为什么C ++的未来似乎比以往更加光明,以及M $在这场比赛中如何被称为好人。讨论围绕效率以及如何经常减少堆活动来提高性能。 另一位由Andrei Alexandrescu创作,激发了从C / C ++到他的新游戏改变者D的过渡。D的大多数工作似乎都动机和设计都很好。但是,令我感到惊讶的是,D推动了垃圾回收,并且所有类都是仅通过引用创建的。更令人困惑的是,《 D编程语言参考手册》一书在有关资源管理的章节中特别 指出以下内容: 垃圾回收消除了C和C ++中必需的繁琐且易于出错的内存分配跟踪代码。这不仅意味着更快的开发时间和更低的维护成本,而且生成的程序经常运行得更快! 这与Sutter关于减少堆活动的不断讨论相矛盾。我非常尊重Sutter和Alexandrescou的见解,因此我对这两个关键问题感到困惑 并非仅通过引用创建类实例会导致大量不必要的堆活动吗? 在哪些情况下可以使用垃圾回收而不牺牲运行时性能?

3
C ++:将一个操作数保留在寄存器中的速度大大提高
我一直在尝试通过定时使用以下代码对数组元素进行缩放和求和的例程来了解在L1缓存中存储数组对内存的影响(我知道我应该将结果按'最后是a';关键是要在循环内进行乘法和加法-到目前为止,编译器尚未弄清楚要分解出'a'): double sum(double a,double* X,int size) { double total = 0.0; for(int i = 0; i < size; ++i) { total += a*X[i]; } return total; } #define KB 1024 int main() { //Approximately half the L1 cache size of my machine int operand_size = (32*KB)/(sizeof(double)*2); printf("Operand size: %d\n", operand_size); …

2
防止在短时间内收集.NET垃圾
我有一个高性能的应用程序,正在处理大量数据。它正在非常短的时间内接收,分析和丢弃大量信息。这会导致大量对象流失,而我目前正在尝试优化该对象流失,但同时也会导致第二个问题。当垃圾回收启动时,它可能会导致某些长时间的清理工作(很长一段时间,我的意思是10到100毫秒)。99%的时间是可以接受的,但是对于大约1-2分钟长的短暂时间,我需要绝对确保垃圾回收不会造成延迟。我知道这些时间段何时会提前发生,我只需要一种方法来确保在此期间不会发生垃圾收集。该应用程序是使用.NET 4以C#编写的。 我的问题是; 是否可以暂时暂停整个程序的垃圾回收? 是否可以使用System.GC.Collect()强制在我需要免费垃圾收集的窗口之前进行垃圾收集,如果我将多长时间免费使用垃圾收集? 人们对减少总体垃圾收集有何建议? 注意-该系统相当复杂,具有许多不同的组件。我希望避免使用必须在程序的每个类上实现自定义IDisposable接口的方法。

5
SQL Performance UNION与OR
我刚刚阅读了优化文章的一部分,并对以下语句进行了细分: 当使用SQL代替using语句OR有UNION: select username from users where company = ‘bbc’ or company = ‘itv’; 至: select username from users where company = ‘bbc’ union select username from users where company = ‘itv’; 从快速EXPLAIN: 使用OR: 使用UNION: 这是否意味着工作量UNION会增加一倍? 尽管我赞赏UNION某些RDBMS和某些表模式的性能可能更高,但这在作者看来并不完全正确。 题 我错了吗?
70 mysql  sql  performance  union 

5
LINQ性能常见问题解答
我试图与LINQ保持联系。最让我困扰的是,即使我对语法有了更好的了解,我也不想在表现力方面无意中牺牲性能。 它们是否是用于“有效LINQ”的良好的集中式信息存储库或书籍?如果失败,您个人最喜欢的高性能LINQ技术是什么? 我主要关心LINQ to Objects,但是当然也欢迎有关LINQ to SQL和LINQ to XML的所有建议。谢谢。
70 c#  .net  linq  performance 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.