なぜホームページを作るのですか?作るだけでは終わらない千客万来亭

fastcgi 再び その6(Objective-C言語)

Macのメイン開発言語である、Objective-C も、「パフォーマンスが高く、ライブラリが充実していて、フレームワークを記述する上で必須条件となるオブジェクト指向も使える言語」ですから、Web用の言語としてなんら不足はありません。

Objective-C と言うと Mac の開発言語と言う頭でいると、その能力を見誤る可能性があるかなぁとか思ってたりします。

Objective-C での fastcgi のコードを以下に。

#import <objc/Object.h>
#import <fcgi_stdio.h>

@interface Hello : Object
- (void) sayHello;
@end

@implementation Hello
- (void) sayHello {
  printf("Content-Type: text/plain; charset=UTF-8\r\n\r\n");
  printf("Hello World!");
}
@end

int main() {
  id h = [[Hello alloc] init];
  while (FCGI_Accept() >= 0) {
    [h sayHello];
  }
}

メッセージのやりとりにやや時間がかかっているのか、C や C++ に比較してわずかに速度が遅いという結果が出てきています。

単純なサンプルで、このメッセージ送信部分がループ内の大半を占めているということもあるのかもしれません。現実的なコードで速度の低下がどの程度発生するのかは今後の確認が必要と言うところでしょうか。

fastcgi 関連記事