Entries from 2009-02-15 to 1 day

Bignum 遅い原因分かった

GMP は算術など演算は速い。ただ結果を格納するバッファを allocate するのが遅い。reallocation を防ぐために大きめにバッファを取るそうな。整数ならば mpz_init が allocate する関数。 mpz_init はサイズ指定できないのだが mpz_init2 ではできる。これ…

今日の復習

10割。 Basic Transform スレッドセーフとは MIPS 命令実現概要 ゲート真理値

今日の英語 - Domain Driven Desgin Quickly その6

速読の練習。速読はしない。文の構造を意識しつつ読み進める習慣をつける。方法論はTOEFLテスト速読・速聴大特訓 基礎編で。ルールは以下の通り。 トピックセンテンスは黄色いマーカーで シグナルワードは緑の線 マインドマップから再構成したまとめ Model D…

Bignum の足し算が遅い

Gauche, Ypsilon と比べて Bignum の足し算が異様に遅い。何だろうこれは。 gmp 使っているので自分の使い方が悪いのだろうな。

パフォーマンスチューニング紆余曲折

この数ヶ月の動き。 多くの C++ 関数を計測せずに Inline 化。 速度に効果がないばかりか build dependency が増加しビルド時間に致命的なダメージ。開発効率が下がる。 build dependency を改善するため、むやみな Inline 化を解消し、本当に必要なところだ…

aobench パフォーマンスチューニング

(vector ...) に対応する VECTOR 命令を追加 Vector コンストラクタを Inline 化 Boehm GC で以下のオプションを有効に DONT_ADD_BYTE_AT_END LARGE_CONFIG sin, cos の型チェックを高速化 Boehm GC のオプションが意外と効いてびっくり。