Re: Commercial use of run-time code generation?

marlet@irisa.fr (Renaud Marlet)
20 Dec 1996 17:16:02 -0500

          From comp.compilers

Related articles
Commercial use of run-time code generation? dietz@interaccess.com (1996-12-15)
Re: Commercial use of run-time code generation? marlet@irisa.fr (1996-12-20)
| List of all articles for this month |
From: marlet@irisa.fr (Renaud Marlet)
Newsgroups: comp.compilers
Date: 20 Dec 1996 17:16:02 -0500
Organization: IRISA, Campus de Beaulieu, 35042 Rennes Cedex, FRANCE
References: 96-12-109
Keywords: code, interpreter

> I've recently read a bit about partial evaluation and run-time code
> generation (Massalin's thesis; MIT exokernel, with the more portable
> VCODE and `C; DCG).


The Partial Evaluation Group at IRISA has developed a partial
evaluator for C, named Tempo, that includes both a compile-time
specializer and a fast run-time specializer based on code templates.
More information can be found from this URL :


  http://www.irisa.fr/EXTERNE/projet/lande/consel/index.html




> I am curious how well RTCG works
> with current architectures; Massalin's work was on earlier generations
> 680x0 machines, where cache consistency and pollution were not big
> concerns (the MIT work is more current.)


We run on sparcs, relying on gcc or lcc compilers (`C is also a
possible target). Templates are compiled and optimized before run
time. Run-time specialization does not require any interpretation and
solely consists of assembling binary templates, filling holes and
relocating jump targets. The simplicity of these operations
introduces negligible overhead at run time: specialization requires as
few as 3 runs to be amortized. As demonstrated by our experimental
results obtained on scientific and graphics code, run-time specialized
programs run nearly (80% on average) as fast as the same program
specialized and compiled at compile time: run-time specialization can
improve performance up to a factor of 10.




> Is RTCG used in many commercial products?


Tempo is still a prototype; it is not available on the net nor as a
commercial product. However, we plan to have a suite of
specialization examples available by the end of January, and a
specialization server before summer: you will be able to submit some
source file and receive the specialized code and/or run-time
specializer.


Renaud
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.