D言語による記述
「ぼくのかんがえたさいきょうのげんご」として有名なD言語で書かれています。D言語はネイティブコードを出力するためスクリプト系の言語よりも高速動作が期待出来ます。
また、GC付きの言語でもあるのでCやC++のようなメモリに関するバグに襲われにくいです。
fastcgiの採用
通常のCGIは、リクエストが有るたびにプログラムの起動と終了を行うため時間がかかります。fastcgiは一度起動したプロセスを常駐させるため、起動と終了処理が無くなり高速化が期待できます。
また、プロセスが常駐するためデータをメモリ上に置いておくことができます。
それにより頻繁に使用するデータをキャッシュし、高速化することが出来ます。
キャッシュを活用したデータ構造
他のブログ管理ソフトをいくつか調べてみましたが、大きく分けて次の2種類なりそうです。- 予めHTMLファイルとして出力しておき、リクエストが来たらファイルを返すだけのタイプ
- リクエストが来たときに毎回動的にHTMLを出力するタイプ
Fastblogはこの2つのハイブリッドタイプです。
つまり、リクエストが来たときに動的にHTMLを出力し、2回目以降は1回目に出力したHTMLを出力します。
これにより、次の利点があります。
- 再構築という作業が必要ない
- 2回目以降のレスポンスは静的ファイル並に高速
今風な高速化手法
高速化のための手法を積極的に導入しています- 対応ブラウザには自動的にデータを圧縮して転送
- ファイルへExpiresヘッダを自動付与し、そのための自動リネームを行う
デザインの自由度が高い
HTMLで好きに書けます。CSSでもjavascriptでも使い放題です。データベースにFirebirdを採用
オープンソースのデータベースといえばMySQL、PostgreSQL、Firebirdの3つが有名ですが、中でも名前が圧倒的に格好良いと言われるFirebirdを採用しています。