個人的な見解だけど…
ひまわりとTTSneoの比較表作成者 taku 作成日 2004/07/19
| ひまわり | TTSneo | コメント | |
| 開発環境 | Delphi 6 | Visual Basic 6 | =引き分け= DelphiとVBを比べると内容がずれるので、 ここは引き分け |
| 実行方式 | インタプリタ | インタプリタ | =引き分け= どちらもインタプリタ同士なので、いちお引き分け。 インタプリタは、命令をマシン語に変換しながら 読んでいくので、実行速度が遅くなってしまう。 |
| 実行速度 | TTSneoより少し速いが、 ほかの言語などと比べると遅め。 |
実行速度遅め | =ひまわり= これは、開発言語に依存する問題。 もともと、VBよりDelphiの方が速いので、 ひまわりのほうが速いのは当然のこと。 |
| 開発環境のサイズ | 4.76 MB | 2.80 MB | =TTSneo= こう見るとTTSneoは小さい気もするが、TTSneoは、 VB6ランタイムが必要。 ほぼすべてのPCに標準で入っているが、 たまに入っていないPCもある。 ランタイムがけっこう大きかったりする。 |
| 標準命令の書き方 | 終止形 | 命令形 | =引き分け= ひまわり「〜〜を、表示。」 TTSneo「〜〜を表示しろ。」 どちらも最近、助詞を自由化したので、「表示くださいな」と 命令しても動くようになっている。 |
| GUIオブジェクト | 26個 | 24個+Active X | =引き分け= TTSneoは、Active Xが使えるのは大きい。 しかし、TTSneo用として作られたものでないと行けないので、ちょっと不便。 また、TTSneoにはひまわりにはない「〜〜ビュー」などの部品も扱うことが出きる。 が、ひまわりも、部品の数はTTSneoよりは多いし、実用的な部品もある。 部品は、好みが分かれるところなので、ここは引き分け |
| Windows API DLLのインポート |
コールバック 関数不可 引数制限なし 擬似的に 構造体も可 |
構造体 利用不可 引数制限 なし |
=引き分け= ひまわりの主張: ver.1.34より引数の個数制限はなくなった。 アセンブラでAPIコールの方法を教えてくれたビッキさんに感謝。 ver.1.48よりバイナリ操作が出来るようになったので、 擬似的に構造体も作れるようになった。 TTSの主張: 『直接、機械語を作っているので、かなりTTSの自由度は高い』らしい TTSneoは、TTS専用に作成したActive Xの機能を利用することができる。 共に、外部DLLを利用することができる。 |
| マニュアル | 3.18MB | 940KB | =引き分け= 量から考えるとひまわりだが、量が多ければ良いというものではないので、この判定は微妙 |
| サンプル | 1.33 MB | 303 KB | =引き分け= マニュアルマニュアルと同じで、量で決まるわけではないのだが、 ひまわりのプログラム掲示板には、多くの書きこみがあり、中には、参考になる作品も多いので、ひまわりのほうが少し有利。 |
| レジストリ | 関連付けの時にのみに使用 | 使用 | =ひまわり= TTSneoは、インストール時にレジストリを使用しているが、 ひまわりは関連付けさえしなければレジストリは使用しないので、 アンインストールはひまわりのほうがかんたん |
| エディタの特徴 | 命令や引数の補完機能がある | エディタとフォームデザイナが連携している | =TTSneo= どちらのエディタにも、特徴があっていい。 TTSneoのフォームデザイナとエディタが連携していて、GUIのデザインがしやすい。 ここはTTSneoが有利 |
テストした環境
OS Windows 98SE
CPU 500MHz
メモリ 190MB
| ひまわりソース |
前は、システム時間 |
| TTSneoソース |
前は タイマー繰り返し終わり |
ひまわり 0.57…秒
TTSneo 4.89…秒
4.32秒の差が出ました。
けっこう差がでましたね。
| ひまわりソース |
前は、システム時間 |
| TTSneoソース |
ウィンドウ1を表示繰り返し終わり |
ひまわり 1.54…秒
TTSneo 5.54…秒
4秒の差が出ました。
これについては、どちらも1秒を超えてしまいました。
| ひまわりソース |
数字は、0 |
| TTSneoソース |
数字は 0繰り返し終わり |
ひまわり 0.18…秒
TTSneo 0.38…秒
0.20秒の差が出ました。
これはあまり違いはありませんね。
プログラミング言語として有名な、Visual Baiscでこの実験を実行してみました。
・文字列をひたすら表示する。| Private Sub Form_Click() Dim Start As Single Start = Timer For I = 0 To 10000 Print "test" Next MsgBox Timer - Start End Sub |
1000回ではすぐ終わりすぎるということなので、10000回実行しました。
結果は0.44秒でした。
10000回で、ひまわりと同じくらいという結果になりました。
さすがVBですね。
| Private Sub Form_Click() Dim Start As Single Start = Timer For I = 0 To 10000 Me.Circle (50, 50), 50 Next MsgBox Timer - Start End Sub |
今回も、10000回です。
1.58秒でした。
またも、10000回で、ひまわりと同じくらい。
| Private Sub Form_Click() Dim Start As Single, A As Long Start = Timer For I = 0 To 10000000 A = A + 1 Next MsgBox Timer - Start End Sub |
今回も、10000回でも足りないそうなので、10000000回です(爆
1.64秒でした。
VBの速さが見せ付けられた番外でした。
これを書くのに、kiyoさんが書かれた、http://ttsneo.kiyo-soft.net/column-2.htmlと、
ひまわり本家のhttp://hima.chu.jp/text/hima_vs_tts.htmを参考にしました。
また、番外を書くのに、逢坂時響様のご協力にいただきました。
ひまわり:http://hima.chu.jp/
TTSneo:http://hp.vector.co.jp/authors/VA021321/index.html