タグ

performanceとprogrammingに関するnirvashのブックマーク (3)

  • What Every Programmer Should Know About Memory

    What Every Programmer Should Know About Memory Ulrich Drepper Red Hat, Inc. drepper@redhat.com November 21, 2007 Abstract As CPU cores become both faster and more numerous, the limiting factor for most programs is now, and will be for some time, memory access. Hardware designers have come up with ever more sophisticated memory handling and acceleration techniques–such as CPU caches–but these canno

  • netswitch! | RubyInlineがすごい

    Posted by nanki Mon, 12 Mar 2007 05:14:00 GMT Rubyコード中にCのコードを埋め込めるRubyInlineを使って、 ボトルネックとなっているメソッドを置き換える。 # rubyinline.rb def benchmark s = "a" * 10000 test = Test.new t = Time.now 1000.times{test.string_xor(s, s)} Time.now - t end class Test def string_xor(str1, str2) result = str1.clone str1.length.times do |i| result[i] ^= str2[i] end result end end b1 = benchmark begin require 'inline' class T

    nirvash
    nirvash 2007/03/13
    Rubyコード中にCのコードを埋め込めるRubyInline
  • lucille development blog » Blog Archive » AMD CodeAnalyst

    http://developer.amd.com/downloads.aspx AMD のサイトには、パフォーマンスアナライザ CodeAnalyst というのがあります。 たぶんできることは VTune や Mac の Shark と同じなのですが、 ひとつそれらと違う特徴として、パイプラインシミュレーションの解析結果の視覚化ができます。 下記は、レイトレーシングのレイと三角形の交差判定部分のコードの Athlon X2 上でのパイプライン結果です。 fld でのロード待ちで、fcomip がストールしているのが見て取れます。 よってこの部分を最適化できれば高速化が期待できることが分かります。 現在の CPU はアウトオブオーダー実行、マイクロコード実行など複雑なことを行うようになっているので、 このパイプライン結果にその結果が含まれていたとしてもいなかったとしても、 そこか

    nirvash
    nirvash 2007/02/14
    できることは VTune や Mac の Shark と同じだが、特徴としてパイプラインシミュレーションの解析結果の視覚化ができる。
  • 1