From Newsgroup: comp.compilers
The authors built a system that uses a production grammar to create
largish benchmark programs which they then used to evaluate compiler performance and (occasionally) look for bugs.
Abstract
L-systems are a mathematical formalism proposed by biologist Aristid Lindenmayer with the aim of simulating organic structures such as trees, snowflakes, flowers, and other branching phenomena. They are implemented
as a formal language that defines how patterns can be iteratively
rewritten. This paper describes how such a formalism can be used to create artificial programs written in programming languages such as C, C++, Julia
and Go. These programs, being large and complex, can be used to test the performance of compilers, operating systems, and computer architectures.
This paper demonstrates the usefulness of these benchmarks through
multiple case studies. These case studies include a comparison between
clang and gcc; a comparison between C, C++, Julia and Go; a study of the historical evolution of gcc in terms of code quality; a look into the
effects of profile guided optimizations in gcc; an analysis of the
asymptotic behavior of the different phases of clang's compilation
pipeline; and a comparison between the many data structures available in
the Gnome Library (GLib). These case studies demonstrate the benefits of
the L-System approach to create benchmarks, when compared with fuzzers
such as CSmith, which were designed to uncover bugs in compilers, rather
than evaluating their performance.
https://arxiv.org/abs/2512.17616
Regards,
John Levine,
johnl@taugh.com, Taughannock Networks, Trumansburg NY
Please consider the environment before reading this e-mail.
https://jl.ly
--- Synchronet 3.21a-Linux NewsLink 1.2