BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース パフォーマンスを硬貨で測る

パフォーマンスを硬貨で測る

原文(投稿日:2009/11/18)へのリンク

クラウドコンピューティングは開発者にとってゲームのやり方を変えてしまうものである。それは、新しいアーキテクチャモデルを必要とするとか、実際のハードウェアの要求と同じ程度に流行に動かされているとかだからではない。ましてや、クラウドが約束するほぼ完全なスケーラビリティを持ち、見た目上無尽蔵のキャパシティを持つからでもない。ゲームのやり方が変わってしまうのは、今やコードのパフォーマンスがどれくらい悪いかが実際の硬貨での実際の価格としてはね返るからである。

パーソナルコンピュータがタイムシェアリングシステムを置き換えて以来、パフォーマンスはないよりはあった方がいい程度のものになっていた。一般的に言って、アプリケーションのパフォーマンスはそのアプリケーションを動かすハードウェアに対して十分かそうでないか、というだけのものだった。CPUのピーク使用量を90%から81%に落としたからと言って何も得るものはない。せいぜい、電力使用料金が少しだけ安くなるくらいだろう。

クラウドプラットフォームでは、CPU使用量を10%削減すれば、そのままクラウドプロバイダからの1ヶ月の請求が10%削減されることになる。例えば、Windows Azureは1計算機による1時間の計算に12セントかかる。このことを知った上でよいプロファイラを使えば、文字通り特定のコードブロックが会社に1ヶ月どれくらいコストを発生させているかを言うことができるだろう。

いったんパフォーマンスの悪いコードのコストを知ることができたら、企業はそれを修正するのにどれくらい時間と金がかけるかどうか経済的に適切な決定を下すことができる。単純にコードの月ごとのコストとそれを改善するタスクを担った開発者の給料を比較して、エンジニアリングマネージャは収穫逓減の法則が効力を生じる前に、どのくらい時間をかけることができるかを確実に言うことができる。

パフォーマンス=お金の等式はさらに動的型付け言語に鋭く焦点をあてることになるだろう。もし動的型付け言語が“十分に速い”というところまで本当に到達しているのであれば、レンタルしているクラウドサーバの価格に反映されるはずだからだ。一方、もし製造コストが急上昇を始めるならば、静的型付け言語がふさわしいという反論の余地のない証拠になる。しかし、当然このことは状況やプロジェクトに応じて決められるべきであるだろう。

この記事に星をつける

おすすめ度
スタイル

BT