From 0d3b7c0ac08a656dc7fba4c167ce4eb7d5015dd6 Mon Sep 17 00:00:00 2001 From: zleyyij Date: Fri, 28 Jun 2024 23:54:48 -0600 Subject: [PATCH] vault backup: 2024-06-28 23:54:48 --- notes/Copy-and-Patch Compilation.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/notes/Copy-and-Patch Compilation.md b/notes/Copy-and-Patch Compilation.md index 799ce90..47b8e81 100644 --- a/notes/Copy-and-Patch Compilation.md +++ b/notes/Copy-and-Patch Compilation.md @@ -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. | \ No newline at end of file +| 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 | \ No newline at end of file