Ackermann's function: A study in the efficiency of calling procedures

  title={Ackermann's function: A study in the efficiency of calling procedures},
  author={Brian A. Wichmann},
  journal={BIT Numerical Mathematics},
  • B. Wichmann
  • Published 1 March 1976
  • Computer Science
  • BIT Numerical Mathematics
A six line recursive procedure is used to assess the efficiency of the procedure calling mechanism in ALGOL-like languages. The results from some 40 systems varying from ALGOL 68 and PL/I to System Implementation Languages for minicomputers are presented and compared. A hundred to one variation in performance occurs with this test, the major reasons for which are given. 
How to call procedures, or second thoughts on Ackermann's function
A surprising result from the analysis is that implementation quality is far more important than the overheads implied by language design.
A critical comparison of several programming language implementations
The implementations of Algol 60, FORTRAN, Pascal and Algol 68 provided on the CDC Cyber 73 of the Stichting Academisch Rekencentrum Amsterdam are compared on both qualitative and quantitative
Performance Evaluation of High-Level Language Systems
A survey of methods for measuring the quality of object programs produced by the compiler, and their performance at execution time, and experiments with the use of those methods are presented.
Modules, Program Structures and the Structuring of Operating Systems
In this paper some views are presented on the way in which complex systems, such as Operating Systems and the programs to be interfaced with them can be constructed, and how such systems may become
Ackermann's function in Ada
This paper largely summarises the main papers concerned with the use of Ackermann's functio n as a performance measure, but interprets the significance of the results in an Ada context.
A performance evaluation of the Intel iAPX 432
We describe art experiment to test the 432 as a high-level language uniprocessor by comparing it with the 8086, 68000, and VAX-11/780 for four integer and character programs written in Ada, C, and
The far side of recursion
This paper looks at how three lesser known algorithms of recursion can be used in teaching behavioral aspects of recursions: The Josephus Problem, the Hailstone Sequence and Ackermann’s Function.
Final Evaluation of MIPS M/500
This report provides the general and specific results of these analyses, along with the recommendation that the DoD and other government agencies seriously consider this or other RISC architectures as a highly viable and attractive alternative to the more familiar but less efficient CISC architectures.
A practical method for code generation based on exhaustive search
An original method for code generation has been developed in conjunction with the construction of a compiler for the C programming language on the DEC-10 computer, and is table-driven, with most machine-specific information isolated in the tables.
Assessing RJSCs In High-Level Language Support
A reduced instruction set computer, RISC I, was compared to five traditional machines. It provided the highest performance with the smallest penalty for using high-level language.


Thunks: a way of compiling procedure statements with some comments on procedure declarations
This paper presents a technique for the implementation of procedure statements of ALGOL 60 with some comments on the Implementation of procedure declarations and indicates that this solution is one acceptable solution to a problem soluble in many ways.
The Ackermann function. a theoretical, computational, and formula manipulative study
A SYMBAL formula manipulating program, that automatically solves recurrence relations for the first members of the function class and for the number of calls needed in their straightforward computation, is given.
Depth of recursion and the ackermann function
It is shown that the recursive use parameter of the Ackermann function contributes to the depth of recursion, and that this contribution may be reduced by rearranging the order of the parameters.
ALGOL 60 compilation and assessment
CDC3300), Mr W. Findlay (PASCAL 1906A & machine code), Mr W. B. Foulkes (PASCAL 370/158)
  • not have been possible to write this paper without the active help of the following persons in running the test: — MrCyber 73 ALGOL 68), Mr P. Klint (C-UNIX), Mr R. Conradi (MARY, CYBER 74 Mr B. Jones (ALGOL 60DEC10 SIMULA & machine code), Mr M.J. Parsons (PALGOL), Dr M. Richards (BCPL), Professor J
  • 1108
A comparison of computer speeds using mixes of instructions
  • A comparison of computer speeds using mixes of instructions
  • 1971