Notes on Refactoring Exponential Macros in Common Lisp

05/04/2023
by   Michael Wessel, et al.
0

I recently consulted for a very big Common Lisp project having more than one million lines of code (including comments). Let's call it "System X" in the following. System X suffered from extremely long compilation times; i.e., a full recompile took about 33:17 minutes on a 3.1 GHz MacBook Pro Intel Core i7 with SSD and 16 GBs of RAM, using ACL 10.1. It turns out that a number of macros were causing an exponential code blowup. With these macros refactored, the system then recompiled in 5:30 minutes - a speedup by a factor of   6. In this experience report, I will first illuminate the problem, and then demonstrate two potential solutions in terms of macro refactoring techniques. These techniques can be applied in related scenarios.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/24/2023

PENTACET data – 23 Million Contextual Code Comments and 500,000 SATD comments

Most Self-Admitted Technical Debt (SATD) research utilizes explicit SATD...
research
09/09/2021

A series acceleration algorithm for the gamma-Pareto (type I) convolution and related functions of interest for pharmacokinetics

The gamma-Pareto type I convolution (GPC type I) distribution, which has...
research
10/10/2018

Performance analysis and optimization of the JOREK code for many-core CPUs

This report investigates the performance of the JOREK code on the Intel ...
research
10/19/2017

DD-αAMG on QPACE 3

We describe our experience porting the Regensburg implementation of the ...
research
05/13/2019

VideoGraph: Recognizing Minutes-Long Human Activities in Videos

Many human activities take minutes to unfold. To represent them, related...
research
10/18/2017

Wilson and Domainwall Kernels on Oakforest-PACS

We report the performance of Wilson and Domainwall Kernels on a new Inte...
research
09/15/2023

Speeding up charge exchange recombination spectroscopy analysis in support of NERSC/DIII-D realtime workflow

We report optimization work made in support of the development of a real...

Please sign up or login with your details

Forgot password? Click here to reset