Tag: 性能

为什么将0.1f改为0会使性能下降10倍?

为什么这一点代码, const float x[16] = { 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6}; const float z[16] = {1.123, 1.234, 1.345, 156.467, 1.578, 1.689, 1.790, 1.812, 1.923, 2.034, 2.145, 2.256, 2.367, 2.478, 2.589, 2.690}; float y[16]; for (int i = 0; i < 16; i++) { y[i] […]

MYSQL OR vs IN性能

我想知道下面的performance是否有差异 SELECT … FROM … WHERE someFIELD IN(1,2,3,4) SELECT … FROM … WHERE someFIELD between 0 AND 5 SELECT … FROM … WHERE someFIELD = 1 OR someFIELD = 2 OR someFIELD = 3 … 还是将MySQL与编译器优化代码的方式相同? 编辑:由于评论中所述的原因,将AND更改为OR 。

Java中的数组或列表。 哪个更快?

我必须保留内存中的数千个string以Java方式串行访问。 我应该将它们存储在一个数组中,还是应该使用某种List? 由于数组将所有的数据保存在连续的内存块中(与列表不同),使用数组来存储数以千计的string会产生问题吗? 答:共识是性能差异较小。 List接口提供了更多的灵活性

Swinganimation运行速度非常慢

我正在使用Java Swing运行当前的animation。 这是一个离散事件模拟和基于文本的模拟工作正常,我只是有模拟连接到GUI输出的问题。 对于这个例子,我将有10辆汽车进行模拟。 这些汽车是由JPanels代表的,我将在稍后详细阐述。 因此,请考虑事件process_car_arrival。 每当这个事件计划执行时,我在我的Model类中添加一个Car对象到一个名为cars的ArrayList 。 Car类具有以下相关属性: Point currentPos; // The current position, initialized in another method when knowing route. double speed; // giving the speed any value still causes the same problem but I have 5 atm. RouteType route; // for this example I only consider one simple route 另外还有以下方法move() : switch […]

ifelse每次都真的计算两个向量吗? 它慢吗?

ifelse是否真的计算了yes和novector – 如在每个vector的整体? 还是只是从每个vector计算一些值? 另外, ifelse真的那么慢?

arrayfun可以明显慢于matlab中的显式循环。 为什么?

考虑arrayfun的以下简单的速度testing: T = 4000; N = 500; x = randn(T, N); Func1 = @(a) (3*a^2 + 2*a – 1); tic Soln1 = ones(T, N); for t = 1:T for n = 1:N Soln1(t, n) = Func1(x(t, n)); end end toc tic Soln2 = arrayfun(Func1, x); toc 在我的机器上(Linux Mint 12上的Matlab 2011b),这个testing的输出是: Elapsed time is 1.020689 seconds. […]

在SQL Server中分页结果的最佳方法是什么?

如果您还想获得结果总数(在分页之前),在SQL Server 2000,2005,2008,2012中对结果进行分页的最佳方式(性能明智)是什么?

Javaexception有多慢?

问题:Java中的exception处理实际上很慢吗? 传统的观点以及大量的Google结果都表明,特殊的逻辑不应该用于Java中的正常程序stream程。 通常有两个原因, 它真的很慢 – 甚至比普通代码慢一个数量级(所给出的原因各不相同), 和 它杂乱无章,因为人们只希望在特殊代码中处理错误。 这个问题是关于#1。 作为一个例子, 这个页面将Javaexception处理描述为“非常慢”,并将慢速与创buildexception消息string联系起来 – “这个string被用于创build抛出的exception对象,这不是很快。 Java中的有效exception处理( The Effective Exception Handling)在Java中表示,“其原因是由于exception处理的对象创build方面的原因,从而导致exception抛出exception缓慢”。 另一个原因是堆栈跟踪的生成是减慢速度。 我的testing(在32位Linux上使用Java 1.6.0_07,Java HotSpot 10.0)表明exception处理不会比普通代码慢。 我试着在执行一些代码的循环中运行一个方法。 在该方法的最后,我使用一个布尔值来指示是返回还是抛出 。 这样的实际处理是一样的。 我试着以不同的顺序运行这些方法,并平均testing时间,认为这可能是JVM热身。 在我所有的testing中,投掷的速度至less与回归速度一样快,如果不快的话(速度快3.1%)。 我对我的testing是错误的可能性完全保持开放,但是在代码示例,testing比较或上一两年的结果中,我没有看到任何东西,它们显示Java中的exception处理实际上是慢的。 导致我走这条路的是我需要使用的API,它将exception作为正常控制逻辑的一部分。 我想纠正他们的用法,但现在我可能无法。 相反,我会不得不赞扬他们的前瞻性思维? 在“ 即时编译中的高效的Javaexception处理”一文中 ,作者提出,即使没有抛出任何exception,单独存在exception处理程序也足以防止JIT编译器正确优化代码,从而降低其速度。 我还没有testing过这个理论。

反转string的最佳方法

我只是不得不在C#2.0中编写一个string反向函数(即LINQ不可用),并提出了这个问题: public string Reverse(string text) { char[] cArray = text.ToCharArray(); string reverse = String.Empty; for (int i = cArray.Length – 1; i > -1; i–) { reverse += cArray[i]; } return reverse; } 就我个人而言,我并不是对这个function感到兴奋,而是相信有更好的方法去做。 在那儿?

如何在O(n)中find长度为n的未sorting数组中的第k个最大元素?

我相信有一种方法可以在O(n)中find长度为n的未sorting数组中的第k个最大元素。 或者,也许它是“预计”O(n)什么的。 我们怎么做到这一点?