Compilation of APL programs could yield a dramatic improvement in performance for some kinds of programs, provided that the compiler could simplify the processing to the actual requirements of the particular algoritlam.Other optimization approaches have been unable to achieve the performance improvements that seem to be possible. Compilation aided by declarations has been demonstrated, but it is undesirable to require declarations if most of the information they contain can be deduced by inspection of the program.Certain changes and restrictions to the language would make such deduction feasible by simplifying the analysis of control flow and removing apparent interfaces between programs that are not actually used as interfaces.Some of the proposed language changes are regarded as improvements because they facilitate deductions about programs by humans and therefore contribute to program readability and reliablility.The other restrictions are inconvenient when debugging a program, but the impact is minimal because compilation of APL would be appropriate mainly for production programs that already have been tested.
PERFORMANCE DEFICIENCIES OF PRESENT APL SYSTEMSThe performance of current APL systems is not acceptable for some applications.Of course, the same can be said of any high level language, since it is always possible to write more efficient programs in assembly language.
The STSC compiler is now in use at customer sites. We can finally answer the question of whether the compiler is effective at reducing CPU time for real applications, and whether it is cost effective to invest the extra effort to speed up applications with the compiler. We have found from numerous case studies that (1) it takes an APL programmer about 3 days to learn about the compiler and begin to use it effectively; (2) customers have speeded up whole applications by factors of 1.2 to 9; (3) usually about one-tenth of an application needs to be compiled to speed it up; (4) the extra effort to analyze an application and compile parts of it can be as low as 1% of the time required to develop it; (5) we have documented cases where the purchase price of the compiler is cost-justified in two months of use.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.