■Apache2 のコンテンツハンドラの高速化 Tips - その1
ap_rputs を使わない。
ap_rputs を呼ぶと内部で、
buffer_output -> apr_brigade_write -> apr_bucket_heap_create
と言いう感じで関数が呼ばれてしまいます.この中でとくに buffer_output は
少し工夫すれば必要なくなるコードが含まれおり,最適化の余地があります.
(このことは「future optimization」として protocol.c のコメントに書かれています)
mod_fast_bbs では簡単なラッパークラス ApacheResponsWriter を用いて最適化
を行いました.
(コード:
http://acapulco.dyndns.org/movie_bbs/api/ApacheResponseWriter_8h-source.htm)
このクラスを用いることにより,コンテンツハンドラのスループットが 約
1.4 倍に高速化しました.