Questions tagged «performance»

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

30
C ++性能与Java / C#
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它当前不接受新的答案或互动。 我的理解是C / C ++会生成在特定机器体系结构上运行的本机代码。相反,诸如Java和C#之类的语言在虚拟机之上运行,该虚拟机抽象出本机体系结构。从逻辑上讲,由于这一中间步骤,Java或C#似乎不可能达到C ++的速度,但是有人告诉我最新的编译器(“热点”)可以达到或什至超过此速度。 也许这更像是编译器问题,而不是语言问题,但是谁能用通俗的英语解释这些虚拟机语言中的一种比本地语言有更好的表现?
119 c#  java  c++  performance  bytecode 

4
多个INSERT语句与具有多个VALUES的单个INSERT
我正在使用1000条INSERT语句进行性能比较: INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('6f3f7257-a3d8-4a78-b2e1-c9b767cfe1c1', 'First 0', 'Last 0', 0) INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('32023304-2e55-4768-8e52-1ba589b82c8b', 'First 1', 'Last 1', 1) ... INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) VALUES ('f34d95a7-90b1-4558-be10-6ceacd53e4c4', 'First 999', 'Last 999', 999) ..versus使用具有1000个值的单个INSERT语句: INSERT INTO T_TESTS (TestId, FirstName, …



25
我应该使用乘法还是除法?
这是一个愚蠢的有趣问题: 假设我们必须执行一个简单的操作,其中我们需要变量值的一半。有通常这样做的方法有两种: y = x / 2.0; // or... y = x * 0.5; 假设我们使用的是语言随附的标准运算符,那么哪一种具有更好的性能? 我猜想乘法通常更好,所以我在编码时会尽量坚持下去,但我想确认一下。 尽管我个人对Python 2.4-2.5 的答案感兴趣,但是也可以发布其他语言的答案!而且,如果您愿意,也可以发布其他更奇特的方式(例如使用按位移位运算符)。

12
MySQL:计算行数的最快方法
在MySQL中,哪种方式计算行数应该更快? 这个: SELECT COUNT(*) FROM ... WHERE ... 或者,替代方案: SELECT 1 FROM ... WHERE ... // and then count the results with a built-in function, e.g. in PHP mysql_num_rows() 有人会认为第一种方法应该更快,因为在内部确定类似情况时,这显然是数据库领域,而数据库引擎应该比其他任何人都要快。
117 mysql  performance 


30
编码实践,使编译器/优化器可以制作更快的程序
许多年前,C编译器并不是特别聪明。作为解决方法,K&R发明了register关键字,以向编译器提示,将这个变量保留在内部寄存器中可能是一个好主意。他们还让第三级操作员帮助生成更好的代码。 随着时间的流逝,编译器逐渐成熟。他们变得非常聪明,因为他们的流程分析使他们能够比您可能做的更好地决定要保存在寄存器中的值。register关键字变得不重要。 由于别名问题,对于某些类型的操作,FORTRAN可能比C更快。从理论上讲,经过仔细的编码,可以绕过这一限制,以使优化器生成更快的代码。 有哪些可用的编码实践可以使编译器/优化器生成更快的代码? 确定您使用的平台和编译器,将不胜感激。 为什么该技术似乎有效? 鼓励使用示例代码。 这是一个相关的问题 [编辑] 此问题与概要分析和优化的总体过程无关。假设程序已正确编写,经过全面优化编译,经过测试并投入生产。您的代码中可能存在一些禁止优化器尽其所能的构造。您如何做才能重构以消除这些禁止并允许优化器生成更快的代码? [编辑] 偏移相关链接

4
如何重载std :: swap()
std::swap()在排序甚至分配期间,许多std容器(例如std::list和std::vector)都使用它。 但是std的实现swap()非常笼统,对于自定义类型而言效率很低。 因此,可以通过std::swap()使用自定义类型特定的实现进行重载来获得效率。但是如何实现它,以便将其用于std容器?

2
在Android上调整位图大小的最有效内存方式?
我正在构建一个图像密集型社交应用程序,其中图像从服务器发送到设备。当设备的屏幕分辨率较小时,我需要在设备上调整位图的大小,以匹配其预期的显示大小。 问题是使用createScaledBitmap导致我在调整成组的缩略图图像后遇到很多内存不足错误。 在Android上调整位图大小的最有效内存方式是什么?

3
在基于范围的for循环中使用转发引用有什么好处?
const auto&如果我要执行只读操作就足够了。但是,我碰到了 for (auto&& e : v) // v is non-const 最近几次。这让我感到奇怪: 与auto&或相比,在某些晦涩难懂的情况下使用转发引用是否有一些性能优势const auto&? (shared_ptr疑似死角案件) 更新 在我的收藏夹中找到的两个示例: 遍历基本类型时使用const引用有什么缺点吗? 我可以使用基于范围的for循环轻松地迭代地图的值吗? 请集中讨论以下问题:为什么我要在基于范围的for循环中使用auto &&?

9
有什么办法编写Windows .bat文件来杀死进程?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 10个月前关闭。 改善这个问题 每次打开公司拥有的开发计算机时,我都必须使用任务管理器或任何其他流程管理应用程序杀死10个以上的流程,才能从IDE中获得不错的性能。是的,这些是公司为安全和合规性而在我的计算机上安装的程序中的过程。我想做的是拥有一个.bat文件或某种类型的脚本,可以用来杀死有问题的进程。 有人知道怎么做这个吗?


13
在C ++中,应该麻烦缓存变量还是让编译器进行优化?(别名)
考虑以下代码(p类型为,unsigned char*并且bitmap->width为某种整数类型,确切地是未知的,并且取决于我们使用的某些外部库的版本): for (unsigned x = 0; x < static_cast<unsigned>(bitmap->width); ++x) { *p++ = 0xAA; *p++ = 0xBB; *p++ = 0xCC; } 是否值得对其进行优化[..] 在某些情况下,可以通过编写以下内容产生更有效的结果: unsigned width(static_cast<unsigned>(bitmap->width)); for (unsigned x = 0; x < width; ++x) { *p++ = 0xAA; *p++ = 0xBB; *p++ = 0xCC; } ...还是对编译器进行优化很简单? 您认为什么是“更好”的代码? 编辑者(Ike)的注释:对于那些对删除线文本感到疑惑的人,最初的问题措词很危险,接近主题外的领域,尽管获得了积极的反馈,却非常接近完成。这些已经被淘汰了。但是,请不要惩罚回答了问题的这些问题的回答者。

7
LINQ功能的顺序重要吗?
基本上,正如问题所述……LINQ函数的顺序是否对性能有影响?显然结果仍然必须相同... 例: myCollection.OrderBy(item => item.CreatedDate).Where(item => item.Code > 3); myCollection.Where(item => item.Code > 3).OrderBy(item => item.CreatedDate); 两者返回的结果相同,但LINQ的顺序不同。我意识到重新订购某些物品会导致不同的结果,我并不担心这些。我主要关心的是要知道在获得相同结果时订购是否会影响性能。而且,不仅在我进行的2个LINQ调用(OrderBy,Where)上,而且在任何LINQ调用上。
114 c#  performance  linq 

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.