Tag: 性能

最快的方法来检查一个字节数组是否全为零

我有一个byte[4096] ,想知道最快的方法是检查所有值是否为零? 有没有办法比做更快: byte[] b = new byte[4096]; b[4095] = 1; for(int i=0;i<b.length;i++) if(b[i] != 0) return false; // Not Empty

SQL性能UNION与OR

我刚刚阅读了一篇优化文章的一部分,并在以下声明中进行了细分 : 当使用ORreplace语句使用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'; 从一个快速的解释: 使用OR : 使用UNION : 这是不是意味着UNION在双重工作 ? 虽然我很欣赏UNION可能对某些RDBMS和某些表模式更高性能,但这并不是作者的build议。 题 我错了吗?

为什么循环通过一个数组比JavaScript本地`indexOf`快得多?

为什么循环访问Array比JavaScript本地indexOf快得多? 有没有错误或我没有考虑的东西? 我预计本地实施会更快。 For Loop While Loop indexOf Chrome 10.0 50,948,997 111,272,979 12,807,549 Firefox 3.6 9,308,421 62,184,430 2,089,243 Opera 11.10 11,756,258 49,118,462 2,335,347 http://jsben.ch/#/xm2BV

java中HashMap.containsKey()的时间复杂度是多less?

我需要知道:java中HashMap.containsKey()的时间复杂度是多less?

在什么情况下冻结WPF对象大大有利于性能?

WPF中的许多types都来自Freezable 。 它为可变的POCO对象提供了不变性,并且显然允许在某些情况下提高性能。 有没有人发现,冻结WPF应用程序中的对象已经大大提高了性能? 如果是这样,那么哪个项目在冻结时最大的性能差异? (请注意,我也发布了一个类似但不同的问题 )

如何在.NET中以编程方式测量当前进程的总内存消耗?

如何在.NET中以编程方式测量当前进程的总内存消耗?

在C / C ++中获得正模的最快方法

通常在我的内部循环中,我需要以“环绕”方式对数组进行索引,以便如果数组大小为100,并且代码要求元素-2,则应该给出元素98.在许多高级语言中作为Python,可以简单地用my_array[index % array_size]来做到这一点,但由于某些原因,C的整数算术(通常)向零舍入,而不是一直向下舍入,因此,其模运算符在给定负的第一个参数时返回负结果。 通常我知道index不会小于-array_size ,在这种情况下,我只是做my_array[(index + array_size) % array_size] 。 但是,有时这是不能保证的,对于这些情况,我想知道实现总是正模的function的最快方法。 有几个“聪明”的方式来做到这一点没有分支,如 inline int positive_modulo(int i, int n) { return (n + (i % n)) % n } 要么 inline int positive_modulo(int i, int n) { return (i % n) + (n * (i < 0)) } 当然,我可以通过这些来找出哪些是我的系统中速度最快的,但是我不禁担心我可能错过了一个更好的,或者我的机器上的速度可能会变慢。 那么有没有一个标准的方法来做到这一点,或者我错过了一个聪明的把戏,这可能是最快的方法? 另外,我知道这可能是一厢情愿的想法,但是如果有这样一种可以自动vector化的方法,那将是惊人的。

如何在C#中编写超快的文件stream代码?

我必须将一个巨大的文件分成许多小文件。 每个目标文件都由偏移量和长度定义为字节数。 我使用下面的代码: private void copy(string srcFile, string dstFile, int offset, int length) { BinaryReader reader = new BinaryReader(File.OpenRead(srcFile)); reader.BaseStream.Seek(offset, SeekOrigin.Begin); byte[] buffer = reader.ReadBytes(length); BinaryWriter writer = new BinaryWriter(File.OpenWrite(dstFile)); writer.Write(buffer); } 考虑到我不得不把这个函数调用大约10万次,速度非常慢。 有没有办法让作家直接连接到读者? (也就是说,实际上没有将内容加载到内存中的缓冲区中。)

console.log会减lessJavaScript的执行性能吗?

将使用console.log的debuggingfunction降低JavaScript的执行性能? 它会影响生产环境中脚本执行的速度吗? 有没有一种方法从一个configuration位置禁用生产环境中的控制台日志?

内存分配/释放瓶颈?

在典型的真实世界的程序中,内存分配/释放有多less瓶颈? 来自任何types的性能通常很重要的程序的答案是受欢迎的。 malloc / free / garbage collection的体面实现是否足够快,以至于它只是在几个极端情况下的一个瓶颈,或者大多数性能关键型软件会从试图保持内存分配量下降或拥有更快的malloc / free /垃圾回收的实现? 注意:我不是在这里谈论实时的东西。 对性能至关重要,我的意思是吞吐量很重要,但延迟并不一定。 编辑:虽然我提到malloc,这个问题并不打算是特定于C / C ++。