LevelDBというのが公開されたらしい.自動でSnappyとかGoogleっぽさが滲み出ている > http://code.google.com/p/leveldb/
2011-05-17 01:19:12読んでる > "Leveldb" http://leveldb.googlecode.com/svn/trunk/doc/index.html
2011-05-17 02:40:21@repeatedly Makefile見るに全部ですね。std::atomicが使われていたので気づきました http://code.google.com/p/leveldb/source/browse/trunk/Makefile
2011-05-17 14:56:45LevelDB を std:: でgrepしてみたけども、使っているのは std::atomic と std::memory_order_acquire くらい。あと unordered_{map,set} か。
2011-05-17 15:30:46一応標準化はされているけども、どちらかと言うとコンパイラの独自機能として使っているという印象。あと \<__ でgrepすると、defined(__clang__) が出てくる。
2011-05-17 15:34:24環境依存のコードが port/ に色々入っていて、std::atomic を使っているのは port/prot_posix.h だけ。gcc なら問題ないでしょう的な印象。あと面白そうなのは db/skiplist.h db/memtable.h とか。
2011-05-17 15:38:45std::atomic は SkipList を実装する為だけに使っているらしい。memtable が lock free の SkipList なのか。SkipList<Key, Comparator>。これだけでも便利そうだなぁ。
2011-05-17 15:46:38deleteだのdefaultだのじゃなくてDISALLOW_COPY_AND_ASSIGN(CondVar);というマクロを使ってるのはコンパイラがまだ対応してないからか
2011-05-17 16:10:07