2011-12-16から1日間の記事一覧

補足:unique_ptrのパフォーマンスについて

C++

unique_ptrを使ったコードと使わないコードのアセンブリをgccに吐かせてみると、-O0の場合はunique_ptrを使うコードの方は関数呼び出しが1回余計に挟まることで、クリティカルなオーバヘッドになっている。一方gccで-O2を指定してアセンブリを吐かせると、un…

C++で大規模な配列追記のパフォーマンス

C++

はじめに @__boronium による 「じゃあC++はどうなの?」 という疑問にお答えするコーナー。元のPython版はhttp://d.hatena.ne.jp/ponkotuy/20111216/1324021461 でどうぞ。ちなみにg++4.6.1 -O2 -std=c++0xでコンパイル。 はじめる前に補足 微妙に間違った…

Pythonで大規模な配列のパフォーマンス(append編)

はじめに Pythonで大規模な追記を扱う時に、どの型を使うと早いのか、パフォーマンスを調べてみる。ちなみにPythonは3.2を使用。 list まずは定番のlist型 l = [1,2,3] for i in range(10**7): l.append(i) 5.7秒、1.6GB set 早いと評判のset型 s = set([1,2…