Andy Pack
5f04cacd81
Affected files: .obsidian/workspace.json Projects/Dev Options.md Projects/Mixonomer.md Projects/NoteCrawler.md Projects/Selector.md Projects/To Do App.md STEM/CS/ABI.md STEM/CS/Calling Conventions.md STEM/CS/Code Types.md STEM/CS/Compilers.md STEM/CS/ISA.md STEM/CS/Language Binding.md STEM/CS/Languages/Assembly.md STEM/CS/Languages/C++.md STEM/CS/Languages/Javascript.md STEM/CS/Languages/Python.md STEM/CS/Languages/Rust.md STEM/CS/Languages/dotNet.md STEM/IOT/OS/Composition.md
35 lines
847 B
Markdown
35 lines
847 B
Markdown
---
|
|
tags:
|
|
- dev
|
|
---
|
|
## JIT
|
|
Just-in-Time
|
|
- Compilation during execution
|
|
- At run time
|
|
- Bytecode translation to machine code for execution
|
|
- Combination of AOT compilation and interpretation
|
|
- Speed of compiled code
|
|
- Flexibility of interpretation
|
|
- Overhead of an interpreter
|
|
- Overhead of compiling
|
|
- As well as interpreting
|
|
- Dynamic compilation
|
|
- Adaptive optimization
|
|
- Dynamic recompilation
|
|
- Microarchitecture-specific speedups
|
|
- [ISA](ISA.md)
|
|
|
|
## AOT
|
|
Ahead-of-Time
|
|
- Compile higher-level language or intermediate representation to machine code
|
|
- Runs natively
|
|
- Machine-optimized code
|
|
|
|
## GCC
|
|
- Standard compiler for GNU projects and Linux
|
|
- Parse source code to produce abstract syntax tree
|
|
|
|
## LLVM
|
|
- Compiler infrastructure
|
|
- Develop language front ends for ISAs
|
|
- Apple sponsored |