Matches in SemOpenAlex for { <https://semopenalex.org/work/W3201219443> ?p ?o ?g. }
Showing items 1 to 99 of
99
with 100 items per page.
- W3201219443 abstract "Fast compilation is important when compilation occurs at runtime, such as query compilers in modern database systems and WebAssembly virtual machines in modern browsers. We present copy-and-patch, an extremely fast compilation technique that also produces good quality code. It is capable of lowering both high-level languages and low-level bytecode programs to binary code, by stitching together code from a large library of binary implementation variants. We call these binary implementations stencils because they have holes where missing values must be inserted during code generation. We show how to construct a stencil library and describe the copy-and-patch algorithm that generates optimized binary code. We demonstrate two use cases of copy-and-patch: a compiler for a high-level C-like language intended for metaprogramming and a compiler for WebAssembly. Our high-level language compiler has negligible compilation cost: it produces code from an AST in less time than it takes to construct the AST. We have implemented an SQL database query compiler on top of this metaprogramming system and show that on TPC-H database benchmarks, copy-and-patch generates code two orders of magnitude faster than LLVM -O0 and three orders of magnitude faster than higher optimization levels. The generated code runs an order of magnitude faster than interpretation and 14% faster than LLVM -O0. Our WebAssembly compiler generates code 4.9X-6.5X faster than Liftoff, the WebAssembly baseline compiler in Google Chrome. The generated code also outperforms Liftoff's by 39%-63% on the Coremark and PolyBenchC WebAssembly benchmarks." @default.
- W3201219443 created "2021-09-27" @default.
- W3201219443 creator A5020949305 @default.
- W3201219443 creator A5041886781 @default.
- W3201219443 date "2021-09-15" @default.
- W3201219443 modified "2023-09-27" @default.
- W3201219443 title "Copy-and-Patch Compilation: A fast compilation algorithm for high-level languages and bytecode." @default.
- W3201219443 cites W1589656661 @default.
- W3201219443 cites W1964428590 @default.
- W3201219443 cites W1971175915 @default.
- W3201219443 cites W2002325351 @default.
- W3201219443 cites W2018016444 @default.
- W3201219443 cites W2019722731 @default.
- W3201219443 cites W2096070062 @default.
- W3201219443 cites W2120575449 @default.
- W3201219443 cites W2132598718 @default.
- W3201219443 cites W2137299450 @default.
- W3201219443 cites W2137406503 @default.
- W3201219443 cites W2160620982 @default.
- W3201219443 cites W2339802588 @default.
- W3201219443 cites W2584555500 @default.
- W3201219443 cites W2590246587 @default.
- W3201219443 cites W2996849306 @default.
- W3201219443 hasPublicationYear "2021" @default.
- W3201219443 type Work @default.
- W3201219443 sameAs 3201219443 @default.
- W3201219443 citedByCount "0" @default.
- W3201219443 crossrefType "posted-content" @default.
- W3201219443 hasAuthorship W3201219443A5020949305 @default.
- W3201219443 hasAuthorship W3201219443A5041886781 @default.
- W3201219443 hasConcept C111564260 @default.
- W3201219443 hasConcept C111919701 @default.
- W3201219443 hasConcept C115168132 @default.
- W3201219443 hasConcept C133162039 @default.
- W3201219443 hasConcept C149782125 @default.
- W3201219443 hasConcept C151578736 @default.
- W3201219443 hasConcept C169590947 @default.
- W3201219443 hasConcept C173608175 @default.
- W3201219443 hasConcept C177264268 @default.
- W3201219443 hasConcept C190902152 @default.
- W3201219443 hasConcept C199360897 @default.
- W3201219443 hasConcept C207609745 @default.
- W3201219443 hasConcept C2144512 @default.
- W3201219443 hasConcept C25344961 @default.
- W3201219443 hasConcept C26517878 @default.
- W3201219443 hasConcept C2776760102 @default.
- W3201219443 hasConcept C2779818221 @default.
- W3201219443 hasConcept C29331672 @default.
- W3201219443 hasConcept C33923547 @default.
- W3201219443 hasConcept C41008148 @default.
- W3201219443 hasConcept C76782552 @default.
- W3201219443 hasConceptScore W3201219443C111564260 @default.
- W3201219443 hasConceptScore W3201219443C111919701 @default.
- W3201219443 hasConceptScore W3201219443C115168132 @default.
- W3201219443 hasConceptScore W3201219443C133162039 @default.
- W3201219443 hasConceptScore W3201219443C149782125 @default.
- W3201219443 hasConceptScore W3201219443C151578736 @default.
- W3201219443 hasConceptScore W3201219443C169590947 @default.
- W3201219443 hasConceptScore W3201219443C173608175 @default.
- W3201219443 hasConceptScore W3201219443C177264268 @default.
- W3201219443 hasConceptScore W3201219443C190902152 @default.
- W3201219443 hasConceptScore W3201219443C199360897 @default.
- W3201219443 hasConceptScore W3201219443C207609745 @default.
- W3201219443 hasConceptScore W3201219443C2144512 @default.
- W3201219443 hasConceptScore W3201219443C25344961 @default.
- W3201219443 hasConceptScore W3201219443C26517878 @default.
- W3201219443 hasConceptScore W3201219443C2776760102 @default.
- W3201219443 hasConceptScore W3201219443C2779818221 @default.
- W3201219443 hasConceptScore W3201219443C29331672 @default.
- W3201219443 hasConceptScore W3201219443C33923547 @default.
- W3201219443 hasConceptScore W3201219443C41008148 @default.
- W3201219443 hasConceptScore W3201219443C76782552 @default.
- W3201219443 hasLocation W32012194431 @default.
- W3201219443 hasOpenAccess W3201219443 @default.
- W3201219443 hasPrimaryLocation W32012194431 @default.
- W3201219443 hasRelatedWork W150926849 @default.
- W3201219443 hasRelatedWork W154475364 @default.
- W3201219443 hasRelatedWork W1973162794 @default.
- W3201219443 hasRelatedWork W1994742583 @default.
- W3201219443 hasRelatedWork W2048423324 @default.
- W3201219443 hasRelatedWork W2072211164 @default.
- W3201219443 hasRelatedWork W2147423491 @default.
- W3201219443 hasRelatedWork W2552803129 @default.
- W3201219443 hasRelatedWork W2765510215 @default.
- W3201219443 hasRelatedWork W2798992527 @default.
- W3201219443 hasRelatedWork W2894643122 @default.
- W3201219443 hasRelatedWork W3195022246 @default.
- W3201219443 hasRelatedWork W3200251584 @default.
- W3201219443 hasRelatedWork W3207840788 @default.
- W3201219443 hasRelatedWork W2134520807 @default.
- W3201219443 hasRelatedWork W2259134112 @default.
- W3201219443 hasRelatedWork W2268114144 @default.
- W3201219443 hasRelatedWork W2301768425 @default.
- W3201219443 hasRelatedWork W2764197309 @default.
- W3201219443 hasRelatedWork W3139973110 @default.
- W3201219443 isParatext "false" @default.
- W3201219443 isRetracted "false" @default.
- W3201219443 magId "3201219443" @default.
- W3201219443 workType "article" @default.