アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり
これはちょっと如何なものか (スコア:3, 興味深い)
(並列)binary-trees
二分木をもりもり作る。メモリアロケーションが主。
CのみOMPで並列化。
(並列)chameneous-redux
プレイヤー二人が交互に手を打つゲーム。ゲームの中身は非常に軽い。
Cのみスレッドを二つフォークしている。(同期はcompare and swap)
(並列)fannkuch
http://www.haskell.org/haskellwiki/Shootout/Fannkuch
メモリアクセスが多い。
問題サイズ(C)またはプロセッサ台数(Java)だけのスレッドを作成している。
(逐次)fasta
与えられた塩基の配列を繰り返す、塩基の存在確率に応じて配列を生成する、の二つの関数。
最内ループで乱数ルーチンを呼んでいるが、C版は自前の合同乗算法のルーチンを用意している。
k-nucleotide
(並列)mandelbrot
マンデルブロ集合の計算。浮動小数点演算とビット演算がほとんど。
Cではスレッド数は8に固定、Javaではプロセッサ台数だけ用意する。
(これはベンチマークではありません)meteor-contest
パズル。
整数とメモリアクセス。
(逐次)n-body
N体問題。浮動小数点が主。
C版はx86のSSEを直接使っている。
(逐次)pidigits
円周率の計算。
任意精度演算ライブラリを使用。
(逐次)regex-dna
塩基配列の置換。
CもJavaも正規表現ライブラリを呼んでいるだけ。
(逐次)reverse-complement
塩基配列の逆相補配列。メモリアクセスが主。
配列を前後ひっくり返しつつ、各塩基を相補的なものに置き換える。
(並列)spectral-norm
数値演算。
C版はSSEを直接使用。OMPで並列化。
Java版はプロセッサ台数分のスレッドを用意する。
thread-ring
各スレッドは、起きたら隣のスレッドを起こして終了するだけ。
Re: (スコア:0)
Re:これはちょっと如何なものか (スコア:2, 興味深い)
>N体問題。浮動小数点が主。
>C版はx86のSSEを直接使っている。
C版はSSEを使ったもの(C GNU gcc #5, 20.74sec)
よりもSSEを使っていないもの(C GNU gcc, 20.37sec)
の方が速いという不可解な結果ですね.
言語仕様や処理系の能力の差がベンチマークの順位に表れているというのはちょっと危険だと思います.
結局はソースを書いた人のコーディング能力の差が表れているに過ぎないと思います.
如何でしょう?
Re: (スコア:0)
> よりもSSEを使っていないもの(C GNU gcc, 20.37sec)
> の方が速いという不可解な結果ですね.
gccはx87 FPUは使わず、浮動小数点演算はSSEコードを吐きますから、そんなものかも。