Creative Computing Benchmark はAhl's Simple Benchmarkとも呼ばれ、さまざまなマシンでのBASICプログラミング言語のパフォーマンスを比較するために使用されたコンピュータ ベンチマークです。これは、当時人気があったいくつかの8 ビット コンピュータの測定値とともに、 1983 年 11 月のCreative Computing誌で初めて紹介されました。数か月の間に、リストは大幅に拡張され、ほぼすべての当時のマシンが含まれるようになりました。トップはCray-1スーパーコンピュータで、0.01 秒で実行されました。[a]
Creative Computing Benchmark は、当時の 3 つの一般的なベンチマークの 1 つでした。1980 年代初頭の米国における主な競合は、 1981 年 9 月のByte Sieveでした。一方、 1977 年 6 月のRugg/Feldman ベンチマークは米国ではあまり知られていませんでしたが、英国では広く使用されていました。
歴史

このベンチマークは、1983 年 11 月のCreative Computing誌に「ベンチマーク比較テスト」というタイトルで初めて掲載されました。[2]記事の中で、著者のDavid H. Ahl は、このベンチマークは BASIC 言語のいくつかの要素、主にループのパフォーマンスのみをテストしたものであると注意深く述べています。彼は次のように述べています。
...ここで紹介したベンチマークプログラムは、コンピュータの実際の使用方法を代表するものではありません。パフォーマンスのいくつかの面のみを測定するものであり、これらの測定結果だけに基づいてコンピュータを購入すべきではありません。しかし、結果は興味深い比較データを提供します。[2]
初期の結果は、 Apple II、Commodore 64、発売されたばかりのIBMパーソナルコンピュータなど、当時の一般的なマシンについて提供された。これらのマシンのほとんどは、標準のMicrosoft BASICの何らかのバリエーションを実行し、2分程度の同様の時間を提供したが、16ビットPCはわずか24秒でリストのトップ近くにあった。この初期のスイートで最も速いマシンは、 13秒のOlivetti M20で、最も遅いマシンは、6分58秒のAtari 8ビットコンピュータ上のAtari BASICであった。 [3]
出版から数か月後、この雑誌は他のプラットフォームの結果で溢れかえった。これはしばらくの間、雑誌の冒頭近くに目立つように掲載され、増え続ける結果のリストとともに定期的な特集となった。3月までに、リストの最速マシンはCray-1で0.01秒、最遅マシンはTI SR-50 プログラマブル計算機で12.7日となった。[4]
このベンチマークには、一般的な用途には役立たない問題がいくつかありました。たとえば、このシステムでは、プラットフォームによってパフォーマンスが大きく異なる文字列操作はテストされませんでした。また、ループ インデックスに整数変数を使用したり、共有メイン メモリを持つマシンでビデオ アクセスをオフにしたりといった、さまざまなプラットフォームで利用できる「スピードアップ」も利用されませんでした。[b]これらの制限は、当時広く議論されました。[6] 1983 年 11 月の記事では、リアルタイム クロックのないマシンでプログラムの実行時間を計測するために「正確なストップウォッチ」を使用することが規定されていました。これをより高速なマシンに適用すると、ストップウォッチを操作する個人の反応時間に大きく依存するテスト結果が生成されます。
最後に登場したのは 1984 年 5 月号で、183 台のマシンの値が掲載されました。この号には、システムに対する多くの批判を真摯に受け止め、新しいベンチマーク プログラムが設計中であるという注記がありました。[7]しかし、そのようなプログラムは雑誌に掲載されませんでした。1985 年 9 月号で、David Ahl は新しいベンチマーク プログラムに関する編集者への手紙に次のように回答しました。「数人のアナリストが 3 つの新しいベンチマーク テストを何時間もかけて作成しましたが、どれも異なる結果やより良い結果は得られませんでした。」[8]
このベンチマークはその後も汎用ツールとして使用され続けましたが[9]、 BASICの重要性が低下するにつれてあまり一般的ではなくなりました。
コード
これは1983年11月版のオリジナル版です: [2]
1 ' Ahlのシンプルなベンチマークテスト 2 ' 30行目と40行目では、一部のコンピュータが 3 'は正しい結果を得るためにRND(1)を必要とするかもしれない 10 プリント「精度ランダム」 20 N=1から100の場合:A=N 30 I=1から10の場合:A=SQR(A):R=R+RND(0):次のI 40 I=1から10の場合:A=A^2:R=R+RND(0):NEXT I 50 S=S+A:次へN 60プリントABS(1010-S/5);ABS(1000-R)
以下は、1行あたりの複合文の数を減らしたベンチマークコードの後のバージョンです。[4] [c]
10 ' アールのシンプルなベンチマーク 20 N=1から100までの場合: A=N 30 I=1から10まで 40 A=SQR(A): R=R+RND(1) 50 次へ 60 I=1から10まで 70 A=A^2: R=R+RND(1) 80 次へ 90 S=S+A: 次のN 100プリントABS(1010-S/5) 110プリントABS(1000-R)
注記
- ^ クレイはクレイ-1用のBASICを製造しなかったため、このバージョンがどの言語で書かれたかは明らかではない。[1]
- ^ 当時のほとんどの8ビットマシンはCPUとディスプレイドライバで共有されるRAMバンクが1つしかなかったため、バス競合の問題が発生し、パフォーマンスが最大30%低下しました。ディスプレイをオフにすることは、このベンチマークのような計算量の多いプログラムを改善する一般的な方法でした。[5]
- ^ すべての行の長さを 40 文字未満に短縮する可能性があります。元のバージョンでは、行 30 は 43 文字です。
参考文献
引用
- ^ CRAY-1 コンピュータ オペレーティング システム ハンドブック(PDF)。Cray Computer。1981 年 9 月。
- ^ abc Ahl 1983、259ページ。
- ^ アル1983年、260頁。
- ^ ab Ahl 1984、p.7を参照。
- ^ ウィルキンソン1985年、140ページ。
- ^ ウィルキンソン1985年、139ページ。
- ^ アル 1984、6ページ。
- ^ Ahl, David (1985 年 9 月). 「Input/Output」. Creative Computing . p. 6.
- ^ Hart, Glenn (1985 年 5 月)。「Microsoft BASIC 2.0 for the Mac」。Creative Computing。pp . 46、48、51–52。
文献
- Ahl, David (1983 年 11 月)。「ベンチマーク比較テスト」。Creative Computing、pp. 259–260。
- Ahl, David (1984 年 3 月)。「クリエイティブ コンピューティング ベンチマーク」。クリエイティブ コンピューティング、p. 6。
- ウィルキンソン、ビル (1985 年 2 月)。「INSIGHT: Atari」。Compute! 139 ~ 142 ページ。
