2010-05-06

mighttpdはbusyboxのhttpdの1/5のコード量

Haskell で掛れた mighttpd という httpd がある。
CGIもサポートして, なんと536行!
なんと, 今 mew.org はこの mighttpd で運用されてるらしいです。
$ wc -l mighttpd/*.hs
114 mighttpd/Config.hs
90 mighttpd/File.hs
86 mighttpd/LogMsg.hs
84 mighttpd/Mighttpd.hs
2 mighttpd/Setup.hs
65 mighttpd/URLMap.hs
95 mighttpd/mkindex.hs
536 total
一方 組み込みでfootprintの小ささに定評のある busyboxでの実装は 2935 行
$ wc -l busybox/networking/httpd*.c
2421 busybox/networking/httpd.c
344 busybox/networking/httpd_indexcgi.c
170 busybox/networking/httpd_ssi.c
2935 total
機能を厳密に比べたわけじゃないから単純に比較できないけれど busybox の実装と比べて実に 1/5 以下のコード量。
Haskell すごいなぁ!

mighttpd については, 作者の山本さんが去る4/16に Haskellers Meeting 2010 Spring で発表された時のスライド(pdf)が公開されてます。

0 件のコメント:

コメントを投稿