ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    スポンサーサイト

    このエントリーを含むはてなブックマーク はてなブックマーク - スポンサーサイト あとで読む
    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    Webプログラミング用のLL比較

    このエントリーを含むはてなブックマーク はてなブックマーク - Webプログラミング用のLL比較 あとで読む
    Webプログラミングで使うLLの長所と短所について検討してみたい。
    PHPの代替として、Pythonを使うメリットを知りたい。

    Perl (1987-)
    Python (1990-)
    Ruby (1993-)
    PHP (1995-)
    の4つを比較してみる。

    ●ベンチマーク
    処理速度の比較記事が、いろいろあった。
    via 16の言語と57のフレームワークを比較したベンチマークが凄い | A-Listers


    TechEmpower Framework Benchmarks (Round 5 / 2013-05-17)
    TechEmpower Framework Benchmarks
    「Database access test (multiple queries)」の「Results from dedicated hardware」(専用サーバー)の「20-queries (bar)」の所を参考にしてみる。
    =Responses per second, dedicated i7 hardware, multiple queries

    ・Perl
     → ちょっと遅い。kelp(809回/秒)、mojolicious(735回/秒)
    ・Python
     → まあまあ速い。
    bottle(1993回/秒)、flask(1692回/秒)、django(369回/秒)
    ・Ruby
     → 遅い。sinatra(577回/秒)、rails(491回/秒)
    ・PHP
     → 生PHP(6055回/秒)は速い。CodeIgniter(1913回/秒)もそこそこ速い。

    ベンチされてるどのLL、WAFであれ、遅いとは言っても、普通のWebサイトなら十分にアクセスをさばけるだろう。
    →1日=24時間=1440分=86400秒
    →1日10万PV程度のサイトで、ピークが上記程度に納まっていればOK。
    →不足なら、サーバーをスケールアップ(高性能化)/スケールアウト(台数増加)で対処すれば良い。


    ウェブフレームワークのベンチマーク: ホットコーナーの舞台裏

     ベンチマークの結果、順位には、大して意味があるとは思えない。
     ネイティブコンパイルの言語で、フレームワークとは呼べないような素のコードに近いもので書いたほうが速かったというだけ、、ごく当たり前のことに思える。
     データベース処理は、SQLを素で書いた方が、ORマッパーより速いというのも、その通りだし。
     結局、開発効率とのバランスですよね。スピードが速くても、開発、拡張、保守に、金と時間と労力がかかるなら、現実の仕事では、ほとんど意味がなくなってくる場合もあるから。

     ぼくが、このサイトで一番役に立ったのは、こんなにウェブフレームワークやウェブアプリ用のライブラリがあることを知ったこと。




    ●結論
    ・コードをサクサク書けるLL、WAFが良い。
    ・最初は、パフォーマンスを気にしなくてOK。

    遅いなら、リソースを贅沢に使って解決=力技。
    富豪的プログラミング - 増井俊之

    ・メモリや実行効率を気にしないでお気楽にプログラムを作る
     効率を重視したプログラムは作るのが大変ですし、 ちゃんと動かすにはデバッグも大変です。 富豪的プログラミングでは一番単純で短いアルゴリズムを使います。




    (あくまでも自分の基準だが)PHPの代替は、とりあえずPythonでOK。
    ・Perl → ロートル
    ・Python → 軽い
    ・Ruby → 重い
    ・PHP → イスラエル製のゴミ

    現時点で、LLを格付けすると、
    1. Python
    2. Ruby
    3. PHP
    4. Perl
    となる。
    WAFの嗜好で、PythonかRubyを選べば良い。

    PHPもイスラエル製でなければ良かったのだが、そこだけが残念!><
    Rubyのフレームワーク選び - 浜村拓夫の世界

    ・PHP(のZend Engine)は、イスラエル産。



    Python、いいね。
    短所もあるけど、大した問題じゃない。
    ・2系と3系の混在
    ・日本語の扱い
    とか。
    今なら、Python3.x+UTF-8でOK?

    他にも、JavaScript(Node.js)という選択肢もあるかな?
    =パッと見、あんま綺麗だとは思わなかったけど。

    Pythonスタートブック
    辻 真吾
    技術評論社
    2010-04-24
    2604円


    エキスパートPythonプログラミング
    Tarek Ziade
    アスキー・メディアワークス
    2010-05-28
    3780円


    Pythonプロフェッショナルプログラミング
    ビープラウド
    秀和システム
    2012-03-26
    2940円


    パーフェクトPython (PERFECT SERIES 5)
    Pythonサポーターズ
    技術評論社
    2013-03-05
    3360円

    関連記事

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/927-a3d7fb18

    FC2Ad

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。