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

2009年10月2日

プログラミング言語にはさまざまな種類、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つの物差しで、プログラミング言語の特徴が視覚的に浮かび上がる点は非常に興味深いですね。

あわせて読みたい

プログラミング言語 システム開発




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本


<!- script for simple analytics events -->