karetta.jp開発日記 

2006/12/25 19:08:00

Chez Schemeはなぜ高速か

http://www.kmonos.net/wlog/65.html#_1433060921

  • 実際にprintされるまでは名前文字列を作らないように遅延させると gensym が25倍高速化。
  • 継続やClosureを取る際には、 スタックを単純コピーすると書き換わる変数の共有ができないので、 関数フレームもすべてヒープに置いてGCに任せる…というのがよくあるアプローチ。 だが、これは遅い。(例えmallocがスタックポインタの加算と同じ程度に速くとも、 ポインタのチェインを作る手間の分遅い。)むしろ、set! され得る変数だけを特別にスタック上にはポインタで保持することで、 スタック単純コピーで済むようにした。
  • 関数とその他の名前空間が分かれてるLispだと、関数じゃない値を call したときのエラートラップが簡単なのだけど、Scheme はそうなっていない。 でも、名前空間が分かれてる場合の手法を応用できた。
  • Don't forget about machine generated codes.
  • Must not accept partially correct solutions.

2006/12/19 14:30:00

[LifeHack] 1日を2倍に使う法

今日の一行」に書くまでもないネタなのでこちらに。

1日を2倍に使うには、

 昼寝する→起きる

これで新しい日の始まり! (石を投げないでください)


2006/12/07 15:03:00

C式(C言語風汎用データ形式)を作ろう!

http://pc8.2ch.net/test/read.cgi/tech/1158259643/

ものすごく“痒い”スレです。(隔靴掻痒感というか何というか...)


About Me
えんどうやすゆき

11月2006年12月1月
12
3456789
10111213141516
17181920212223
24252627282930
31

Recent Articles
debian-sys-...
企画メモ
Gauche-win3...
karetta.jp紹...
FreeMind 0....
タグで注目度をUpする
karetta.jp紹...
Windows版Saf...

Archives
2008-04
2008-01
2007-12
2007-11
2007-10
2007-09
2007-08
2007-07
2007-06
2007-05
2007-04
2007-03
2007-02
2007-01
2006-12
2006-11
2006-10
2006-09
2006-08
2006-07
2006-06
2006-05
2006-04
2006-03
2006-02
2006-01
2005-12
2005-11
2005-10

このサイトについて|ヘルプ|Q&A|個人情報保護|プライバシーポリシー|利用規約|コメント・トラックバック規約|削除規程|広告掲載
Copyright (c) 2005-2007 Time Intermedia Corporation