Entries from 2009-01-01 to 1 month
最近よく風邪ひく。毛布をかぶって寝ていたら大量の汗がでて体温が下がり楽になった。
貧乏人のデイトレ 10割 プロセッサ入出力I/F 0割 BUS 0割 クォータニオン 0割 Disk space management 2割 Hash baesd Indexing 10割 Heap file format 10割 Clustered Index の威力 10割 Relational operation 10割 Buffer management 10割
FFI のコードを整理しライブラリにまとめた。テストも書いた。当初の目的であった PostgreSQL や MySQL を使えるほどの最小セットは実装できた。 callback の実装をどうしようか散々迷ったが以下の理由から後回しにしようと思う。 実装方法は理解している 今…
今さらだが Object のテストを追加した。Fixnum、Charcter、Nil など tag bit を利用して構築されている基礎部分など。 動いて当たり前の部分だが、問題の切り分けに使用したり移植時の負担を減らす狙いがある。おそらく明日の作業に役立つだろう。
適当にじゃらじゃらと。うーむ。盛り上がりに欠ける。録音機材買って1人でハモってみる?
ロボットは辛いと言わない Heap file format 2割 Relatinal Operation 1割 Buffer management 0割 MIPS 命令実現概要 10割 キャッシュの性能と改善 10割
速読の練習。速読はしない。文の構造を意識しつつ読み進める習慣をつける。方法論はTOEFLテスト速読・速聴大特訓 基礎編で。ルールは以下の通り。今日から別の論文。もしあわないようであればやめる。 トピックセンテンスは {{ }} で囲む シグナルワードは =…
rhs が何の略か分からずにずっと悩んでいたが解決。right-hand-side 。rhs lhs。
make-c-function 相当を手続きで書いたが、Ypsilon のようにマクロのマッチング機能をフルに使った方がきれいに書ける気がしなくもない。 どちらにせよ、いちいち quote するのは面倒なのでマクロで wrap はした方が良さそうだ。(定義はヘッダからコピペす…
Spinlockと便器 - 笑わないプログラマ。 以前 adaptive lock を知ったときは感動したなと思い出した。
MySQL クライアント動いた。API はもっと洗練させる予定。 (define libmysqlclient (%ffi-open "libmysqlclient.so.15.0.0")) (define mysql-init (make-c-function libmysqlclient 'void* "mysql_init" '(void*))) (define mysql-real-connect (make-c-func…
僕はロボット。 Hash-based Indexing 2割 WEwLC changng software 10割 2ヶ月ぶりだがしっかり定着 DLLのロード 10割 キャッシュの基礎 10割 ゲート真理値 10割 MIPS命令実現概要 8割 世界一分かりやすい株実践 10割 Magnetic disk 10割 キャッシュの性能と…
Database Management Systemsの12章。 マインドマップから再構成したまとめ Selection clustered index あり => index を読むだけ un-clustered index あり => index + match した tuple の data を read index なし => full scan Projection 特徴1:出力を …
Scheme から C の関数を呼び出せるとなると MySQL に接続してみたくなる。しかしながら libmysqlclient の mysql_init は MYSQL * STDCALL mysql_init(MYSQL *mysql);と MYSQL 構造体を呼び出し側で割り当てて渡してあげないといけない。(正確には渡すのは…
オプションが -shared ではなくて -dynamiclib 。Makefile.am libffitest.so.1.0: ffitest.c gcc -fPIC -c $< gcc -Wl @SHLIB_SO_LDFLAGS@ -o $@ ffitest.o configure.ac case $host in *darwin*) SHLIB_SO_LDFLAGS="-dynamiclib" ;; *) SHLIB_SO_LDFLAGS="-…
ポインタを cast したり符号拡張していたら時間切れ。無念。眠い。
昨年末で終了してしまったMORI LOG ACADEMY。とても残念だが森博嗣らしいと思う。ブログ更新終了も予定通りなのだ。仕事や趣味の計画を立て数年レベルの範囲でほぼその通りに実現してしまうスタイルが僕は好きだ。 彼のブログやエッセイには「これは僕が大人…
(let* ([handle (%ffi-open "./libffitest.so.1.0")] [upper (%ffi-lookup handle "my_upper")] [bv (u8-list->bytevector (map char->integer (string->list "hello")))]) (%ffi-call->void upper bv 5) (list->string (map integer->char (bytevector->u8-…
色々問題が分かってきたので見直し。さてうまくいくか?。復習ロボットになる。
Extract override call 10割 テストコードが邪魔 10割 アドレッシング 10割 キャッシュの性能と速度改善 5割 キャッシュの基礎 5割
SRFI 97: SRFI Libraries。
FFI の基礎作りを完了。int hoge(int x) のように引数も戻り値も int の関数を共有ライブラリから呼び出せるようになった。この基礎の上に、戻り値や引数が int 以外の型に対応したものを積み上げていく予定。 基礎以外で残っている難所はコールバック対応。…
条件を限定。動いた。 (let* ([handle (%ffi-open "./libffitest.so.1.0")] [sym (%ffi-lookup handle "sub")]) (%ffi-call->int sym 5 -1)) ; => 6
2の補数 10割 キャッシュの基礎 4割 記憶階層の利用 10割 キャッシュの性能と速度改善 5割 Vetex blending & Morphing 10割
速読の練習。速読はしない。文の構造を意識しつつ読み進める習慣をつける。方法論はTOEFLテスト速読・速聴大特訓 基礎編で。ルールは以下の通り。今日から別の論文。もしあわないようであればやめる。 トピックセンテンスは {{ }} で囲む シグナルワードは =…
パスタランチ。ゆったりとした余裕のある空間の使い方をする店なので落ち着く。トイレがとてもきれいで好印象。
今日は復習タイムを早めに取りゆっくり休む。 Basic transform 10割 WEwLC あちこち同じコードを変更している 10割 Vertex blending & morphing 5割 キャッシュの基礎 0割 キャッシュの性能と速度改善 0割
速読の練習。速読はしない。文の構造を意識しつつ読み進める習慣をつける。方法論はTOEFLテスト速読・速聴大特訓 基礎編で。ルールは以下の通り。まだ読み終わっていないがべつの題材を探そうと思う。後半は式の説明ばかりだ。 トピックセンテンスは {{ }} …
FFI とは何か? ある言語から他の言語で作られたライブラリを呼び出すしくみの事。 ここでは Scheme から C の関数を呼び出す方法をとり上げる。例えば Scheme から libxml の関数を呼ぶなど。 しくみ 上から順に処理が流れる。 ライブラリのロード 呼び出そ…
id:SaitoAtushi さんのパッチで (display #;#;1 2 3) なども動くようになりました。ありがとうございます。