<紙>さんLOG

「パソコンヲタクの雑記帳」
 PC/Linux系/物理・化学で遊んでいます。
思いついたことを綴っています。

AB vs C

2010年04月30日 | PCクリニック
ご訪問ありがとうございます。


言語、と云うか、コンパイラ、と云うか、・・・・・

AB とは、<紙>の常用(?)言語であった、Active BASIC のことです。
ですが、「x64アプリ開発は Cで?」が、未だ、C 言語に移り切れていないので、
現状では AB も使っています。

C とは、<紙>にとっては、gcc のことです。
但し、正確に云うと、
GCC=GNU Compiler Collection(グニューコンパイラコレクション)は、
   GNUのコンパイラ群である。
  標準パッケージにはC、C++、Objective-C、Objective-C++、FORTRAN、Java及び
  Adaのコンパイラ並びにこれらのライブラリが含まれている。
なのですね。
  当初はCコンパイラとして開発され、GCCは GNU C Compiler を意味していた。
  しかし、もともと多言語を想定して設計されており、 GNU C Compiler と
  呼ばれていたときでも多くの言語をサポートしていた。
  現在でも GNU C Compiler の意味で「GCC」と呼ぶことも多い
 (ちなみに GNU C Compiler の実行ファイルの名称もgccである)。
こちらの意味で使っています。
そして、メインが Windows なので、MinGW のことです。
  MinGW, a contraction of "Minimalist GNU for Windows", is a port of
  the GNU Compiler Collection (GCC), and GNU Binutils,
  for use in the development of native Microsoft Windows applications.
これは、ネイティブな Microsoft Windows アプリケーション 開発用に、
GCC のコンパイラを移植したものですね。


前置きが長くなりましたが、
以前 AB で作ったプログラムを、勉強の一環として、gcc で書き直して見たところ、
相当速いことに驚きました。

処理内容は、非常に単純なものです。
足し算・割り算を篦棒な回数実行するというものです。

使っている変数は、32ビット整数のみ。
足し算・割り算を数十万回~約1千万回行うのを1繰り返しとして、
数千~数十万繰り返しを行うもの。

最近は、<紙>の新PCと殆ど同じマシンを使って実行しています。
1時間~50時間掛かります。

この AB で作ったプログラムを、
ほぼ、右から左に、gcc で書き直して、(変数は、int 型のみ)
MinGW(32ビット版)でコンパイルし、
同じマシンで実行させたところです。

なんと、20分~15時間くらいと、
2.5~4 分の1の時間で終わりました。
約3倍速!
オブジェクト効率が違う!

64ビット化は、本当に巨大データ処理で必要ですが、
当面は、32ビット版gccで行ける。
時間短縮目的で、AB から gcc への移行が望まれる?
最近停滞している、C言語(gcc)の勉強を加速しなくては。

何かの参考になる方がいらっしゃいましたら、幸いです。     



見ていただきありがとうございました。
お帰りに投票して頂けると嬉しいです。 ⇒ 日記@BlogRanking

人気BlogRanking ⇒ 

blogram ⇒ blogram投票ボタン