1 | standard trilema: functionality vs. portability vs. performance |
2 | adopt the current javac strategy: one class at a time, no changes to VM, lowest performance |
3 | sacrifice some portability and functionality for better optimization |
4 | sacrifice a lot of portability and functionality for best performance |