CWeb 一旦完成

C言語のWebFrameworkがどうしても欲しいので作ることにした。

  • C言語だけ
  • 標準ライブラリ以外は使わない
  • この上なく高速で余計なことをFrameworkの中でしない

の3つをポイントに開発することにした。ということで自分で作らないといけないのは

  1. socketによるTCPの送受信
  2. HTTP Requestのパーサー
  3. hashやarrayの仕組み
  4. HTMLレンダリングエンジン

が特に作らないといけない重要ポイント。
ということで作ってみました。

こんな感じで利用できます。main関数内はこれだけです。
ルーティングもあるんですが、今日はつかれたのでここまでにしてます。

アクセスするとこんな感じ
スクリーンショット 2014-07-21 22.22.56

一旦Apache Benchしてみました

正直ApacheBenchなんて初めてやるからいいかどうかわからないんだけどw
ただ、revelのテンプレートアプリを同じようにやったらRequests per secondが2000ぐらいなので、まだ激速いとはいえないですね。

やっといまレンダリングエンジンとレスポンスまで出来たのでこれから色々詰めていきます。やりたいのは

  • 1リクエストしか処理できないのをlibevent使ってどうにかする
  • ちょっとでも malloc->freeを使う部分を減らす

コメントを残す