Visual C++ が無料で手に入る時代、お金を払って Visual C++ を使う意味があるのでしょうか?その判断材料になるのが最適化です。
最適化には2種類ありまして、ひとつがプランベースの最適化、もうひとつがコストベースの最適化です。 Visual C++ の無料版に搭載されているのはプランベースの最適化のみで、有料版には両方の最適化が搭載されています。
では、プランベースとコストベースの違いはいったいどこなのでしょうか?
まず、プランベースというのは「プログラムのコードを基に最適化すること」です。たとえば「連続した1バイトの転送処理が4回続いているから1バイトを4つまとめて4バイトで転送しよう」とかです( 32bit マシンなので4バイトの転送が一度にできるのです)。こういった処理はゲームなどでは非常に有効です。どんなに初心者の方が書いたコードが効率悪くても、コンパイルしたら速くなる可能性があるのです。これが無料で使えるのは大変ありがたいことですね。
一方のコストベースのというのは「実際に動かしてみた結果を基に最適化すること」です。プランベースと違って実際に動かすというコストはかかりますが、最適化されたプログラムはプランベースの最適化より速くなります。冷静に考えてみれば当然です、実績を基にボトルネックを見つけて解消しているわけですから、やっていることは人間であるプログラマと同じというわけです。実は、まだコストベースの最適化を見たことがありませんので、多少の誤解はあるかもしれませんが、おおざっぱに考えてこういうことです。これなら有料版にしか搭載されていないのもうなずけます。
というわけでお金に余裕ができましたら有料版の購入を検討してみてください。 Professional 以上でないと付いていないそうです。
Comments
メルマガ読ませていただいています。
最適化はエクスプレスエディションとそれ以外、なのでしょうか?
スタンダードとそれ以上のエディションとでまた違うのでしょうか?
カンファレンスでスタンダードをタダでもらったのですが違いがわからずもんもんとしています。
> chito さん
いらっしゃいませ(^^
メルマガ購読ありがとうございます。
残念ながらスタンダードには普通の最適化しか付いてないそうです。
しかしながら、ゲームで使うには十分すぎるソフトウェアですよ。
そうなんですね。
だから無料配布なんてことができるんでしょうね。
登録すればアップグレードもできそうですしそれ以上は腕が上がってからでもいいですね。
> chito さん
そうですね。学習用のコンパイラにお金かける必要はないと思います。
ソフトウェアを売ってもうけが出たら買うなどで良いかと。
Contributions