* 自分にとってアツいもの
created 2011-02-27 modified 2013-09-07
着目している技術
C10Kやイベント処理 | 備考 |
---|---|
libevent | 高性能イベントループのライブラリ。ソケットやタイマ処理を多数多重化できる |
libev | 同上。高性能らしいがlibEventにメジャー度で負けている。node.jsの中身 |
D-Bus | Gnomeデスクトップ環境で用いられているプロセス間メッセージ交換基盤 |
thrift | マルチプログラミング言語RPC。Facebookチームが開発 |
Linda | イベントスプールにタプルや条件マッチを取り入れた概念 |
node.js | ついにJavascriptはサーバ側へ... |
旧来と違うDB(NoSQL等) | 備考 |
---|---|
SQLite | オンメモリ or ファイルDBにSQLでアクセスできる。 |
FastDB | オンメモリ or ファイルDBで、オブジェクト型。SQLiteに水を空けられたか |
NoSQLを超えるSQLデータベース「VoltDB」 | オンメモリDBで、Ingresの作者さんだそうです |
IMAP4 | メール受信用プロトコルとしてだけでなく、クラウド応用ができる |
おっと、ACID緩めるのも必要です。
ドリームの話 | 備考 |
---|---|
ガベージコレクションせず、かつ利用が簡単なプログラミング言語 | GCは結局プログラマを楽にしない |
CPUコアを限定することでロックを減らすマルチスレッドプログラミング | クルー指向とか言って検討中 |
- ガベージコレクションせず、かつ利用が簡単なプログラミング言語
Javaは確かに生産性が高いですが、Stop the World問題をクリアできない。
「プロがつくるプログラム」としてのソフトウェアは、オブジェクトを作ることより破壊することを制御できるべきであると考えます。ヒープオブジェクトのGCに反対。スタックオブジェクトのautoポインタに賛成。->"+ アペタイト フォー デストラクション"
「言語文法レベルで定義されたコレクションライブラリ」については…別途書きます。
- CPUコアを限定することでロックを減らすマルチスレッドプログラミング
要は「RunnableにCPUコアをbindしたもの」を○○(例えばcrew)などと呼んで擬人化(擬物化)し、イメージしやすくする、ということ。(まぁ、普通にマルチプロセスでもいいんですけども)
リンク: