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