Tag: 优化的

“perf stat”结果中有什么是停滞周期前端和停止周期后端?

有没有人知道perf stat结果中的“ 停顿 – 循环 – 前端”和“ 停滞 – 循环 – 后端”的含义? 我在网上search,但没有find答案。 谢谢 $ sudo perf stat ls Performance counter stats for 'ls': 0.602144 task-clock # 0.762 CPUs utilized 0 context-switches # 0.000 K/sec 0 CPU-migrations # 0.000 K/sec 236 page-faults # 0.392 M/sec 768956 cycles # 1.277 GHz 962999 stalled-cycles-frontend # 125.23% frontend […]

PostgreSQL临时表

我需要执行一个查询250万次。 此查询生成一些我需要AVG(column) ,然后使用此AVG从低于平均值的所有值过滤表。 然后我需要将这些过滤的结果插入到表中。 做合理效率的唯一方法似乎是通过为每个query-postmaster python-thread创build一个TEMPORARY TABLE 。 我只是希望这些TEMPORARY TABLE不会永久保存到硬盘上,并且会保留在内存中(RAM),当然,除非它们没有工作内存。 我想知道一个TEMPORARY TABLE是否会引起磁盘写入(这会干扰INSERTS,即整个进程缓慢)

曾几何时,当>比<…快时,等等,什么?

我正在阅读一个很棒的OpenGL教程 。 真是太好了,相信我。 我目前的主题是Z缓冲。 除了解释这一切之外,作者还提到我们可以执行自定义的深度testing,比如GL_LESS,GL_ALWAYS等等。他还解释说,深度值的实际意义(也就是顶部而不是)也可以是定制。 我明白迄今为止。 然后作者说了一些不可思议的事情: 范围zNear可以大于范围zFar; 如果是这样的话,则窗口空间值将被颠倒,从观察者的距离最近或最远的angular度来看。 早些时候,有人说,0的窗口空间Z值最接近,1是最远的。 但是,如果我们的剪辑空间Z值被否定,则1的深度将最接近视图,并且0的深度将最远。 然而,如果我们翻转深度testing的方向(GL_LESS到GL_GREATER等),我们得到完全相同的结果。 所以这只是一个惯例。 事实上,翻转Z的标志和深度testing曾经是许多游戏的重要性能优化。 如果我理解正确的话,性能方面,翻转Z的符号和深度testing只不过是改变一个比较。 所以,如果我理解正确并且作者不是在说谎或者做出反应,那么改变< to >曾经是许多游戏的重要优化 。 作者是不是在写东西,是我误解了什么,或者确实是这样,一旦<作者所说的慢(比作者所说的)要严重> ? 感谢澄清这个相当好奇的事情! 免责声明:我完全知道algorithm的复杂性是优化的主要来源。 而且,我怀疑现在肯定不会有什么区别,我也不是要求这个来优化任何东西。 我只是非常,痛苦,也许令人难以置信的好奇。

我如何知道代码中的哪些部分从未使用过?

我有传统的C ++代码,我应该从中删除未使用的代码。 问题是代码库很大。 我怎样才能找出哪些代码是从来没有被调用/从未使用?

在ArrayBlockingQueue中,为什么要将最终成员字段复制到本地最终variables?

在ArrayBlockingQueue ,所有需要锁的方法在调用lock()之前将其复制到本地finalvariables中。 public boolean offer(E e) { if (e == null) throw new NullPointerException(); final ReentrantLock lock = this.lock; lock.lock(); try { if (count == items.length) return false; else { insert(e); return true; } } finally { lock.unlock(); } } 当字段this.lock是final时候,是否有任何理由将this.lock复制到局部variableslock final ? 此外,它还在使用E[]之前使用本地副本: private E extract() { final E[] items = this.items; E x […]

在x86汇编中将寄存器设置为零的最佳方法是什么?xor,mov或and?

以下所有说明都执行相同的操作:将%eax设置为零。 哪种方法是最佳的(需要最less的机器周期)? xorl %eax, %eax mov $0, %eax andl $0, %eax