The Creative Computing Benchmark, also called Ahl's Simple Benchmark, is a
computer benchmark
In computing, a benchmark is the act of running a computer program, a set of programs, or other operations, in order to assess the relative performance of an object, normally by running a number of standard tests and trials against it.
The t ...
that was used to compare the performance of the
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
programming language on various machines. It was first introduced in the November 1983 issue of ''
Creative Computing
''Creative Computing'' was one of the earliest magazines covering the microcomputer revolution. Published from October 1974 until December 1985, the magazine covered the spectrum of hobbyist/home/personal computing in a more accessible format th ...
'' magazine with the measures from a number of
8-bit computers
In computer architecture, 8-bit integers or other data units are those that are 8 bits wide (1 octet). Also, 8-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data buses of ...
that were popular at the time. Over a period of a few months, the list was greatly expanded to include practically every contemporary machine, topped by the
Cray-1
The Cray-1 was a supercomputer designed, manufactured and marketed by Cray Research. Announced in 1975, the first Cray-1 system was installed at Los Alamos National Laboratory in 1976. Eventually, over 100 Cray-1s were sold, making it one of the ...
supercomputer, which ran it in 0.01 seconds.
The Creative Computing Benchmark was one of three common benchmarks of the era. Its primary competition in the early 1980s in the United States was the
Byte Sieve
The Byte Sieve is a computer-based implementation of the Sieve of Eratosthenes published by ''Byte'' as a programming language performance benchmark. It first appeared in the September 1981 edition of the magazine and was revisited on occasion. Al ...
, of September 1981, while the earlier
Rugg/Feldman benchmarks of June 1977 were not as well known in the United States, but were widely used in the United Kingdom.
History
The benchmark first appeared in the November 1983 issue of ''Creative Computing'' under the title "Benchmark Comparison Test". In the article, author
David H. Ahl
David H. Ahl (born May 17, 1939) is an American author who is the founder of ''Creative Computing (magazine), Creative Computing'' magazine. He is also the author of many how-to books, including ''BASIC Computer Games'', the first computer book t ...
was careful to state that it tested only a few aspects of the BASIC language, mostly its looping performance. He stated:
The initial results were provided for common machines of the era, including the
Apple II
The Apple II (stylized as ) is an 8-bit home computer and one of the world's first highly successful mass-produced microcomputer products. It was designed primarily by Steve Wozniak; Jerry Manock developed the design of Apple II's foam-m ...
,
Commodore 64
The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in the Guinness ...
and the recently-released
IBM Personal Computer
The IBM Personal Computer (model 5150, commonly known as the IBM PC) is the first microcomputer released in the IBM PC model line and the basis for the IBM PC compatible de facto standard. Released on August 12, 1981, it was created by a team ...
. Most of these machines ran some variation of the stock
Microsoft BASIC
Microsoft BASIC is the foundation software product of the Microsoft company and evolved into a line of BASIC interpreters and compiler(s) adapted for many different microcomputers. It first appeared in 1975 as Altair BASIC, which was the first ve ...
and thus provided similar times on the order of two minutes, while the
16-bit
16-bit microcomputers are microcomputers that use 16-bit microprocessors.
A 16-bit register can store 216 different values. The range of integer values that can be stored in 16 bits depends on the integer representation used. With the two mos ...
PC was near the top of the list at only 24 seconds. the fastest machine in this initial suite was the
Olivetti M20
The Olivetti M20 is a Zilog Z8000 based computer designed and released by Olivetti in 1982. Although it offered good performance, it suffered from a lack of software due to its use of the Z8000 processor and custom operating system, PCOS. The c ...
at 13 seconds, and the slowest was
Atari BASIC
Atari BASIC is an interpreter (computing), interpreter for the BASIC programming language that shipped with the Atari 8-bit family of MOS Technology 6502, 6502-based home computers. Unlike most American BASICs of the home computer era, Atari BAS ...
on the
Atari 800
The Atari 8-bit family is a series of 8-bit home computers introduced by Atari, Inc. in 1979 as the Atari 400 and Atari 800. The series was successively upgraded to Atari 1200XL , Atari 600XL, Atari 800XL, Atari 65XE, Atari 130XE, Atari 800XE ...
at 6 minutes 58 seconds.
In the months following its publication, the magazine was inundated with results for other platforms. It became a regular feature for a time, placed prominently near the front of the magazine with an ever-growing list of results. By March the fastest machine on the list was the Cray-1 at 0.01 seconds, and the slowest was the
TI SR-50
The SR-50 was Texas Instruments' first scientific pocket calculator with trigonometric and logarithm functions. It enhanced their earlier SR-10 and SR-11 calculators, introduced in 1973, which had featured scientific notation, squares, square ...
programmable calculator
Programmable calculators are calculators that can automatically carry out a sequence of operations under control of a stored computer programming, program. Most are Turing complete, and, as such, are theoretically general-purpose computers. Howe ...
at 12.7 days.
The benchmark had several problems that made it less useful for general purposes. For instance, the system did not test any string manipulation, whose performance varied widely across platforms. It also did not take advantage of any "speedups" available on different platforms, like the possible use of integer variables for loop indexes or turning off video access on machines with shared main memory. These limitations were widely debated at the time. The November 1983 article stipulated using an "accurate stopwatch" to time the program execution on machines lacking a real-time clock: When applied to the faster machines, this would yield test results highly dependent on the reaction time of the individual operating the stopwatch.
Its last appearance is in the May 1984 issue, which included values for 183 machines. This issue included a note that the many criticisms of the system had been taken to heart and a new benchmark program was under design. However, such a program never appeared in the magazine. In the September 1985 issue, David Ahl responded to a Letter to the Editor about the new benchmark program with "Several analysts spent many hours working out three new benchmark tests ... none gave different or better results".
The benchmark continued to be used as a general-purpose tool after this date,
but as the importance of BASIC dwindled it became less common.
Code
This is the original version from the November 1983 edition:
1 ' Ahl's simple benchmark test
2 ' In Lines 30 and 40, some computers
3 ' may require RND(1) for correct results
10 PRINT "Accuracy Random"
20 FOR N=1 TO 100:A=N
30 FOR I=1 TO 10:A=SQR(A):R=R+RND(0):NEXT I
40 FOR I=1 TO 10:A=A^2:R=R+RND(0):NEXT I
50 S=S+A:NEXT N
60 PRINT ABS(1010-S/5);ABS(1000-R)
The following is from later versions of the benchmark code, which reduced the number of compound statements on a line:
10 ' Ahl's Simple Benchmark
20 FOR N=1 TO 100: A=N
30 FOR I=1 TO 10
40 A=SQR(A): R=R+RND(1)
50 NEXT I
60 FOR I=1 TO 10
70 A=A^2: R=R+RND(1)
80 NEXT I
90 S=S+A: NEXT N
100 PRINT ABS(1010-S/5)
110 PRINT ABS(1000-R)
Notes
References
Citations
Bibliography
*
*
* {{Cite magazine , magazine=Compute! , date=February 1985 , pages=139–142 , title=INSIGHT: Atari , first=Bill , last=Wilkinson , url=https://archive.org/stream/1985-02-compute-magazine/Compute_Issue_057_1985_Feb#page/n139/
Benchmarks (computing)
History of computing
BASIC programming language