micro-optimization

    1

    2答えて

    それぞれの値と実行コードのコレクションを検索していて、特定の品質を見つけたらブール値をオンにして、コードを実行したときにもう一度オフに戻したいブール値をオフにする必要があるかどうかをチェックする条件を実行する方が速いのですか、それともすべてのループで簡単にオフにする方が速いのですか? 例えば(擬似コード): bool found = false; for(particle in literall

    1

    2答えて

    this question今日、ConcurrentDictionaryのメソッドに関するいくつかのパフォーマンスの違いがわかりました。私はこれを早期のマイクロ最適化と見ていました。 しかし、私が誤解していない場合、ラムダをメソッドに渡すたびに、CLRはメモリを割り当て、適切なクロージャを渡し(必要な場合)それはしばらくしてから。 三つの可能性があります:閉鎖せずに ラムダ: // the lam

    1

    1答えて

    を減算低いビットです: ここでも、ほとんどの本当のSchemeシステムが若干異なる実装を使用します。例えば、GET_PAIRがxの下位ビットを減算するのではなく、それらをマスクする代わりに、オプティマイザは、参照する構造体メンバのオフセットを加算することでその減算を組み合わせることができます。変更されていないポインタとして使用します。 この減算を正確に達成する方法と、オプティマイザが修正されていな

    2

    3答えて

    私はブラウザで非常に多くのデータを処理する作業を行っています。その結果、私はすべてをナットとボルトに至るまで最適化しようとしています。私は自分の時間を無駄にしている、あるいは時期尚早の最適化がすべての悪の根源であると私に言う人はいらない。 JSの仕組みを理解している誰かが、ブール値がブール値よりも小さいかどうかがブール値よりも小さいかどうかを知ることができるかどうかを知りたいだけです。私はそれによ

    6

    2答えて

    配列からそれを削除するには、配列の要素にdeleteを使用して問題 は、私は.forEach()呼び出しは、インデックスをスキップするように配列から要素を削除することを意識してる唯一の方法です。 質問 、exampleArray[i]は、例えば、その後のexampleArray.push()は配列オブジェクトのメモリ 消費量を増加させ インデックスにdeleteを使用していますか? どうすればいい

    0

    4答えて

    私はwww.host.comのような文字列を持っていて、それをちょうどhost.comにするために、この場合は(この場合はwww.)最初から削除する必要があります。これらの始まりの配列があります(m.、wap.など)。どのように効果的かつ迅速にそれを行うには? 現在、私はこのコードを使用していますが、私はより良い/より高速/きれいな方法があるはずだと思う: <?php function _wi

    0

    1答えて

    例えば、(a→b→c)→(a→b→c)→... のような真の依存関係によってリンクされ、周期的に繰り返される アウトオブオーダー実行の恩恵を受けるために、いくつかの短いと独立したサブ依存チェーンに分割することができますと仮定すると: (A0-> b0-> C0) - >(A0-> b0-> C0) - > ... (A1-> B1-> C1) - >(A1-> B1-> C1) - > ... ア

    0

    1答えて

    Agner Fog's "Optimizing Assembly" guide 12.7節ループの例 [...] Pentium Mの分析:1クロックあたり13μs= 4.33cの退役時間あたり1回の繰り返し。 ループに依存関係があります。レイテンシは、 のメモリ読取り、5は乗算、3は減算、メモリは3の合計で13クロックサイクルの 書込みの場合は2です。これは、退役の時間の の3倍ですが、各繰返し

    1

    1答えて

    現在、さまざまなx86-64コマンド(&の構文)のパフォーマンスを測定する課題を行っています。 私がやや混乱しているコマンドは、「無条件jmp」コマンドです。これは私がそれを実現してきた方法です: .global uncond uncond: .rept 10000 jmp . + 2 .endr mov $10000, %rax ret それはかなり簡単です。このコードでは

    0

    1答えて

    Agner Fog in his microarch.pdf says: 2つのμopを生成 命令のみ行くことができるが 1つの融合のμopを生成する命令三個のデコーダのいずれにも行くことができるので、復号化は、より効率的になりますデコーダD0に供給する。 私は、デコーダがx86マシンコードを入力として(アセンブラ出力のようにmov eax, eaxから)取り出し、出力としてマイクロopsを生成す