#はじめに 俺は去年の秋頃に「さいきょうの関数型プログラミング言語は C++ かもしれない」とかなんとかそんな記事を投稿した者だ。憶えている人はいるだろうか…。 あの時いろいろ調べて分かったのは、new だの malloc だのといった動的なメモリ確保には結構な時間がかかる、ことにマルチスレッド下ではロックが発生するらしいということだ。まあそうだわな。それぞれのスレッドが勝手にメモリを確保したらぐちゃぐちゃになっちゃうからな。 マルチスレッド下での動的なメモリ確保において発生するロックを回避する方法としては、malloc を入れ替えるというのがあるらしい。FreeBSD の jemalloc とか Google 先生の TCMalloc とかだ。これは小さなメモリを確保する場合にそれぞれのスレッド専用に確保された領域を使うことでロックを回避しているそうだが良くは知らない。 しかしこういうな