プログラミング言語の特徴を、実行速度と簡潔さで見る

2009年10月 2日はてなブックマーク del.icio.us Twitter

プログラミング言語にはさまざまな種類、CやJavaやPerlなど、が存在します。理想的なプログラミング言語の定義は条件やプログラマーの好みによってさまざまだとは思いますが、やはり実行速度が速いこと、できれば簡潔に記述できた方がよい、という条件に同意する方は多いのではないでしょうか。

さまざまなプログラミング言語のベンチマークを実行し、その結果を報告しているWebサイト「The Computer Language Benchmarks Game」を紹介しているのが、ブログ「Radium Software」の記事「プログラミング言語の特徴を視覚的に比較する」です。

fig

The Computer Language Benchmarks Game」では、ベンチマークの結果とそのコードの関係をグラフにした「interpret scatter plot shapes」というWebページが公開されています。そこからグラフをいくつか引用して見てみましょう。グラフはインテルの1コアCPUのUbuntu OS上でいくつかのベンチマークを実行し、その実行時間とコードの長さを表しています。

上のグラフはRubyの例です。グラフの縦軸が実行にかかる時間を示しており、横軸が記述の簡潔さを表しています。このグラフからは、簡潔に記述できるが実行速度は遅い、という傾向が読み取れます。

スクリプト系の言語を見てみましょう。どれも簡潔に記述できるが実行速度はまあまあ、といった傾向をグラフから見いだすことができそうです。特にRubyとPerlの簡潔性がはっきりと表現されていますね。

fig

一方でC、Java、Fortranあたりは実行速度の高さが表れています。スクリプト言語と比べると記述は少し長くなる傾向にあることも分かります。スクリプト言語と比べれば命令群がプリミティブなのでしょうね。

fig

実行速度が速く、かつ簡潔に記述できるという特徴を兼ね備えた言語としては、下の3つが最右翼のようです。関数型プログラミング言語が並んだのはベンチマークなどとの相性による偶然でしょうか、あるいは必然なのでしょうか。

fig

いずれにせよ、実行速度と簡潔さ、という2つの物差しで、プログラミング言語の特徴が視覚的に浮かび上がる点は非常に興味深いですね。


次の記事≫ 9月の人気記事ランキングとページビュー報告
前の記事≪ グーグルのデータセンターで働くために必要なスキルとは?

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
RSSリーダーで : Feed
≫ 過去の記事を読む




アクセスランキング - 過去7日間

  1. 次の10年、「統計分析」こそテクノロジー分野…
  2. その分析、Hadoopなら速く安くできます …
  3. 米国で求められているクラウドのスキルは? A…
  4. [速報]VMworld 2010、クラウド時…
  5. グーグルが構築した大規模システムの現実、そし…
  6. 経過報告:「SAP」をSocial Appl…
  7. 技術評論社のクラウド技術誌「G-CLOUD …
  8. グーグル、オラクルとの係争を理由に今年のJa…
  9. グーグルが構築した大規模システムの現実、そし…
  10. [速報]VMworld 2010、IT as…
  11. アドビ「iPadでFlashアプリを動かす」…
  12. グーグルが構築した大規模システムの現実、そし…
  13. 呼びかけ:「SAP」をSocial Appl…
  14. グーグルが構築した大規模システムの現実、そし…

アーカイブ  (最新記事10)

バックナンバー

2010年9月
2010年8月
2010年7月
2010年6月
2010年5月
2010年4月
2010年3月
2010年2月
2010年1月
2009年12月
2009年11月
2009年10月
2009年9月
2009年8月
2009年7月
2009年6月
2009年5月
2009年4月
2009年3月
2009年2月






Trackbacks (TrackbackURL:http://www.publickey1.jp/mt/mt-tb.cgi/325)

  • (トラックバックは承認後に掲載されます)

Comments