Scaling up Partial Evaluation for Optimizing The Sun Commercial RPC Protocol
Abstract
We report here an experiment of using partial evaluation on a realistic program, namely the Sun commercial RPC (Remote Procedure Call) protocol. It is implemented in a highly generic way that offers multiple opportunities of specialization. One of the main results of our study is to show the incapacity of the traditional binding-time analysis in treating system programs. Our experiment has been made with Tempo, a partial evaluator for~C programs targeted towards a specific application area: system software. To treat those programs, it integrates an improved binding-time analysis with use-sensitivity, context-sensitivity and return-sensitivity properties. On the calling part of a client application (only the data encoding), the specialized code is up to 3.75 times faster than the non-specialized one. On a simple whole program execution, where only the client is specialized, we have a speedup of 1.35. This work shows that partial evaluation is reaching a relative level of maturity: it can treat real system code.
Loading...