vault backup: 2024-06-28 23:54:48

This commit is contained in:
zleyyij 2024-06-28 23:54:48 -06:00
parent b6e3e33987
commit 0d3b7c0ac0

View File

@ -4,7 +4,15 @@ Copy and patch is a novel compilation technique introduced in the above paper th
They provide two example use cases, a compiler for a C-like language, and a WebAssembly compiler, and show promising results for both startup time and execution performance.
(Bottom of Page 2):
> Our compiler achieves both lower startup delay and better execution performance than
prior baseline compilers. Figure 2 shows the performance of six WebAssembly compilers on the
PolyBenchC benchmark, normalized to our performance. Our compiler
has 6.5× lower startup delay than Liftoff, while generating on average 63% better-performing code.
Their C implementation is feature complete, and even includes some functionality like C++ (classes, destructor semantics).
One proposed use case of copy-and-patch compilation in the paper is as an SQL query engine, noting that they believe they have built the first baseline compiler for an SQL query engine.
# Terminology
| Phrase | Definition |
@ -12,4 +20,5 @@ They provide two example use cases, a compiler for a C-like language, and a WebA
| Stencil | A binary implementation that has holes where missing values must be inserted during codegen. |
| Full Compiler | A compiler that compiles from a high level language to machine code |
| Bytecode Assembler | An assembler that converts low level bytecode to machine code. |
| Baseline compiler | In tiered compilation, a baseline compiler is the first compiler. It's meant to be the fastest, with the lowest priority on generating performant code. |
| Baseline compiler | In tiered compilation, a baseline compiler is the first compiler. It's meant to be the fastest, with the lowest priority on generating performant code. |
| Pareto Frontier | In multi-objective optimization, the pareto frontier is the set of solutions that are best |