Entries from 2009-02-01 to 1 month

今日の復習

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 のオプションが意外と効いてびっくり。

初めての Git と github 入門

Git % ./configure --without-tcltk % make % sudo make install % git config --global user.email higepon@xxxx.com 初期設定 % mkdir spon % git init % git add ./tools.mosh.sls % git commit -m 'first commit' % git remote add origin git@github.co…

今日の復習

疲れているのか集中できない。軽めかつ簡単なものをピックアップして復習。 スレッドセーフとは 2割 以下10割 Projection 3D 投資信託にだまされるな あちこち同じコードを変更している ランダムウォーク

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

以下の2つを改善 (random-real) のバックエンドで使われている quotient, modulo, remainder を C++ で書き直す Flonum 同士のかけ算の場合に NUMBER_MUL 命令でショートカット ついでに Object::makeFlonum を inline 化。 地味だがじわりと効いてる。

散歩

暖かな陽気。近所の大きな公園の周りをぐるっと散歩。公園の周りはペットビジネスが盛んなのだな。 自分は自然たっぷりな公園よりも、手入れの行き届いた芝生のある公園が落ち着いて好き。皇居の本丸跡とか。維持費がかかるからだろうか、そんなに数が多くな…

衝撃の事実

某IRCチャンネルで発覚したのだが、dlmalloc の作者 Doug Lea 氏はJava並行処理プログラミングの共著者の1人。 これはすごい。

Julia chords

C Am7 Em Em C Am7 Em G C Am7 Gm7 Gm9 A7 A7 F9 Fm7 C Am7 Em G(not open)cont.どうでも良いが、カポは英語的発音だとケポに近い。

今日の復習

Estimate code of plan 2割 以下10割。 OS vs DBMS アドレッシング BUS 光 SQL=>Algebra 2の補数 Anti-aliasing ACID B+ tree

SRFI-98 のR6RSライブラリ名

SRFI-97 で決まった SRFI のR6RSライブラリ名に則って SRFI-98 は (srfi :98 system-environment-variables) で行こうと考えている。SRFI-98 の ML で議論しているのでご意見のある方はお願いします。 追記 os という prefix の方が良いのではとの意見が。確…

Texturing - Real-Time Rendering

Real-Time Renderingの 6章 。 テクスチャマッピング - Wikipedia を読んでから、読み進めると分かりやすい。 Shader の式における diffuse パラメータと specular パラメータなどを理解していないと難しいよね。油断するとすぐおちこぼれそう。 マインドマ…

続 aobench

とりあえず vec の保持に bytevector は重すぎるので vector に変えた。 プロファイラを見て気付いたのだが Mosh で aobench を走らせると実行時間の半分が (random-real) に費やされている。要改善。 コードは id:mjt さんのものがベース。 http://code.goo…

1つ壁を越えたら

そこには Ypsilon の壁が。単純な named let loop が異常に速い。 (1 0 . loop) (=n.iloc (0 . 0) 10000000) (if.true.ret.const) (push.n+.iloc (0 . 0) 1) (apply.gloc.of loop.1)) push.n+.iloc が1つになっているのが効いていそうだ。命令数の差っぽいな…

パフォーマンスチューニング仕切り直し

前提 (let loop ([i 0]) (if (= i 10000000) '() (loop (+ i 1)))) このコードでは Mosh (530 msec)> Gauche (660 msec)。 ところがこのループに浮動小数の加算を入れると逆転。 (let loop ([i 0]) (if (= i 10000000) '() (begin (+ i 1.0) (loop (+ i 1)))…

今日の復習

スレッドセーフクラスの組み立て 0割 スレッドセーフとは0割 以下10割 円高・円安 Ubiquitous Language Extract Interface RAID Projection (DB) Buffer manager マルチサイクル Set and Aggregate Transparency クォータニオン

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

速読の練習。速読はしない。文の構造を意識しつつ読み進める習慣をつける。方法論はTOEFLテスト速読・速聴大特訓 基礎編で。ルールは以下の通り。 トピックセンテンスは黄色いマーカーで シグナルワードは緑の線 少し集中力が足りなかった。

Gauche と Mosh の速度差

とある小さなベンチで Gauche に 100msec 以上差をつけられて負けていて悩んだ。(OSX) 命令数は Mosh の方が少ない GC の Stats は似たようなもの などなど原因が分からず。 x86-64 と i686 の Linux だと勝っているのだけど OSX で負けている原因が分から…

左利きの日

へぇ1割もいるのか>左利き 2/10は“左利きの日”。なぜかというと、「0(レ)2(フ)10(ト)=レフト」と読めるのがその理由にあたるそう。

おお

Lisp 系が3つも入っている↓。 「今年、新しい言語を学ぼうと思っている人はいますか」と小飼氏が会場に問いかけたところ、半数以上の手が上がった。PHP、Ruby、Python、Scheme、Lispなどの名前が挙がったが、これらについて小飼氏は「どの言語もそんなに新し…

The ACID Properties - Database Management Systems

Database Management Systemsの16章。 やっと Transaction に突入。 マインドマップから再構成したまとめ DB は ACID を維持する Atomic トランザクションは全てのアクションが実行される or 全く実行されないのどちらかしかありえない 中途半端に実行される…

OSX i386? i686?

手元の MacBook 。 i386 と判定されてしまうと -march=386 とかなって悲しい。 Gauche 0.8.13 の configure では i686-apple-darwin9.6.0 Gauche 0.8.14 の configure では i386-apple-darwin9.6.0 Mosh の configure では i386-apple-darwin9.6.0 追記 OS X…

チューニングメモ

このコードの速度は Ypsilon > Gauche > Mosh と Mosh が一番遅い。 (let loop ([i 0]) (if (= i 10000000) '() (begin (+ i 1.0) (loop (+ i 1))))) 違いは恐らく Flonum の allocation と GC のコストであると推測。 Ypsilon は GC が並列に動いているので…

今日の復習

Set and aggregate 2割 Projection 2割 以下10割 プロセッサ入出力 I/F キャッシュの性能と改善 高度なパイプライン DDDとは? Gamma correction Storage and indexing Selection

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

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

算術が遅い

fpmath=sse とかそういうレベルじゃないミスがあって遅いのだろうと予想。

Mosh のコンパイラオプションを整理中

まずは info gcc して -march=xxx を付加するようにした。特にパフォーマンスに変化はない。 -msse -msse3 などを付加する条件を configure.ac で判定したいのだが良い見本はないものか。

今日の復習

Evaluation Relation Selection 2割 Storage Indexing 3割 以下10割 オブジェクト共有 キャッシュの基礎 overview of query evaluation