Personal tools
You are here: Home ブログ 井上 sqliteの反則技(amalgamation )
« December 2010 »
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Recent entries
Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23
Herokuの発音 inoue 2010-12-20
雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18
IPA未踏のニュース inoue 2010-12-15
労基法とチキンゲーム inoue 2010-12-06
フロントエンドエンジニア inoue 2010-12-03
ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25
技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24
雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22
RESTの当惑 inoue 2010-11-22
「プログラマのためのUXチートシート」を作りました inoue 2010-11-19
「ビューティフルコード」を読みました inoue 2010-11-16
Categories
カテゴリなし
 
Document Actions

sqliteの反則技(amalgamation )

AirOneで使っているsqliteのパフォーマンスが微妙に気にいらない(*)ので、パフォーマンスチューニングが進んでいるかどうか調べるために、久しぶりにWebサイトをチェックしました。

(*)ノートPCなのでディスクアクセスの遅さが要因かもしれません。

最近のリリース文を見ると、バグを埋め込んでは直し埋め込んでは直し、を繰り返している雰囲気がしないでもありません。それはともかくとして、次のリリース文が目につきました。

2007-Apr-02 - Version 3.3.14

This version focuses on performance improvements. If you recompile the amalgamation using GCC option -O3 (the precompiled binaries use -O2) you may see performance improvements of 35% or more over version 3.3.13 depending on your workload.

35%のパフォーマンス改善とは驚きの数字です(Javaなら驚きませんが。なぜならJavaは最新テクノロジーだからです)。amalgamationとは何かと次のページを見てみると...

全部の.cファイルをひとつのファイルにまとめてからコンパイルするようです。普通のCコンパイラはコンパイル単位(=ひとつのCソースファイル)で最適化を行うので、ひとつのファイルにまとめると速くなりうる、という理屈です。こっちでは、5%から10%の速度改善と書いてあります。

これは反則でしょう。

このテクニック(と呼びたくは無いですが)、そんなに効くものでしょうか。(ソースが分かれていれば)インラインになりえない関数呼び出し部分がインライン化するぐらいはすぐに思いつきますが、それ以外の最適化がどれほど起きるのか不明です。

The URL to Trackback this entry is:
http://dev.ariel-networks.com/Members/inoue/sqlite-amalgamation/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
This helps us prevent automated spamming.
Captcha Image


Copyright(C) 2001 - 2006 Ariel Networks, Inc. All rights reserved.