Entries from 2008-11-01 to 1 month
WEwLC Sensing & Separation 10割 Realtime GPU パイプライン 7割 WEwLC モンスターメソッド 10割 WEwLC Adapt Parameter 10割 パタヘネ 性能の定義 5割
Gauche や Ypsilon のコードを読み。最適化し忘れている部分をリストにして Wiki にまとめた。 意外と多くてびっくり。「最適化はほどほどにして先に進もう」と進んできてそのことを忘れていたようだ。 ちなみに Gauche 最適化のほどんどは pass2 で行われる…
ペンがない。さっきまで使っていたのに。どこにも見あたらない。そんな馬鹿な。 ↓で使用している英語問題集にはさまって本棚にしまわれていた。
原因・結果問題 2問中1問正解。10分/制限時間20分 トピックセンテンスの選定に失敗。正解に曖昧さがあるように思えてならない つなぎの装置問題 20問中20問正解。13.5分/制限時間30分 繰り返しに注目する問題 7問中8問正解。7分/制限時間8分
やり残した最適化の1つを ON にしたらおかしくなった。 (display "GO\n") (define path 3) (let ((add (lambda (s) (set! path s)))) (add #f) (add #f)) s が free variables として認識されないようなバグがある。どうも pass2 で lambda を inline 展開す…
1. (and (core-macro . and)) を builder-script の psyntax-system-macros に追加。 (and (macro . and)) を削除。 2. builder.ss に追加 (define-syntax build-and (syntax-rules () ((_ ae exp*) `(and . ,exp*)))) export に build-and を追加。3. expan…
WEwLC Test Harness でクラスをインスタンス化できない 10割 WEwLC Parameterize Constructor 10割 WEwLC コード変更したいがどんなテスト書けばよい? 10割 パタヘネ 性能の定義 2割 Realtime rendering GPU パイプライン 0割
Real-Time Renderingの 4章 のTransform に突入。 ついに念願のアフィン変換が出てきた。以前から id:nik9 先生が何度も IRC で「アフィン変換」とつぶやくのを見てきた。その当時は全く意味が分からなかったが、こういう事だったのか。 せっかく自分が Mosh…
id:Yoshioriさんによる、Outputz Eclipse Pluginが公開されています。ありがとうございます。 Eclipse は使っている人が多そうですね。
comp.lang.scheme を読んでいると、時々 Aziz という言い回しが出てくる。 As is のことだと思っていたが、人のあだ名だった
qprof で VM のインストラクションレベルでプロファイルを眺める。速くできそうなところはない。 速くするには プログラムの命令数を減らす→コンパイラにおける最適化 allocationを減らす→コンパイラにおける最適化、できるだけ静的にオブジェクトを埋め込む…
書いた日記が消えた様な気がする。
全て10割。 WEwLC 7章 変更が永遠に終わらない Pull up Features Extract and override getter 速読におけるパラグラフ ぱたへね メモリクリアコード比較 配列 vs ポインタ
Real-Time Renderingの 3章 The Graphics Processing Unit。 マインドマップから再構成したまとめ GPU のパイプライン Vertex Shader(プログラマブル) Geometry Shader(プログラマブル) Clipping(設定) Scan Mapping(固定) Triangle Setup(固定) T…
よく考えたら、Direct threaded と 1ワードに命令とオペランドをつめ込む方法は相容れないのか。 「Directo threaded」と「Threaded + 1ワードに命令とオペランドをつめ込む」はどちらが速いのかなあ。 branch を作って試してみるか微妙なところ。それなりに…
Peephole Optimization 実装完了。 jump の destination が jump のときに destination を書き換える test(分岐)の false 時の jump 先が test か jump のときに destination を書き換える 昨日作ったベンチマークは結果変わらず。 だが実際にいろいろなコ…
jump 先が jump なら jump 先変える最適化だけが、Peephole optimization だと思っていたが違うみたい。 Peephole optimization - Wikipedia, the free encyclopedia ふむむ。実際に jump 先のケースがどれくらいあるのかを簡単にチェックできるようなコード…
automake, autoconf, libtool を最新にしたらうまく動いた。 しかしココサブさんのところで悪影響が出るかも。
strict aliasing 。個人的にタイムリー。doubleの0が +0.0 なのか -0.0 なのかを判別するのに uint64_t とかに cast したら怒られた。unionで回避。
WEwLC 25 Extract Override call 10割 WEwLC 18 テストコード邪魔 10割 パタヘネ DLLのロード 10割 速読におけるパラグラフとは 2割 パタヘネ メモリクリアの比較 ポインタと配列 0割
Mosh の速度面で改善したいことを挙げる。さくっと立ち上がる事を目標に。 起動速度。もっさり起動するのはだめ。 中身が (import (rnrs)) だけの test.scm を実行したときの速度 この中には以下のものが含まれる VM 初期化 コンパイラのロード 基本ライブラ…
Gauche-FUSEでOutputzファイルシステム - Gemmaの日記。 これはすごい><。
特殊スリーフィンガーにも慣れてきた。YouTubeで教則ビデオを見つけた。運指の部分が参考になる。
パタヘネ アドレッシング 10割 Database SQLの実行 10割 WEwLC クラスのメソッドテストできない 10割 WEwLC 僕のアプリはAPI呼んでいるだけ 10割 WEwLC クラス大きすぎ 10割
パタヘネ下巻。最初の章で頻繁に付録Bに言及するのでCD-ROMに収められた付録Bの PDF を取り出した。見てみたら70ページあまりあるのだが全て日本語に翻訳されてる。 本文と違いCD-ROMの付録は読まれる確率はかなり低いはずなのに本気で全て訳してあり感心し…
時系列メインアイディア把握問題 3問中3問正解。10分/制限時間30分 比較・対比メインアイディア把握問題 4問中4問正解。13分/制限時間40分 原因・結果問題 4問中4問正解。3分/制限時間12分 制限時間がとても緩いように思える。結果として自分の現時点の実力…
Database Management Systems の 1章 Overview Of Database Systems 。 マインドマップから再構成したまとめ 抽象化レベル External Conceptual Physical データ独立 トランザクション ロック Shared lock Exclusive lock ログ Write Ahead Log (WAL) Page -…
注文していた Database Management Systems が届いた。M&Mコンビおすすめの本。洋書でかつ1000ページあるので効率よくため計画を立てよう。 まず序文を読み アプリケーションアプローチ システムや実装アプローチ の2つの読み方があることが判明。自分は後…
Mosh のライブラリに Tiny CLOS を追加しました。 現時点では実用的な速度では動かないので注意。以下のような短いスクリプトでも実行に 500msec ほどかかる。コンパイラ速度改善のためのベンチマークとして使えそう。 (import (rnrs) (clos user) (mosh str…
psyntax にはR6RSライブラリをプリコンパイルしてシリアライズし、後からロードする機能がある。この機能はプログラムの高速起動に役立つのだが、マクロのシリアライズには Record のシリアライズが必要。この実装が面倒で複雑になるので今回のリリースには…