deathmarine/Luyten — pull request #10 by mstrobel (2013-07-15 02:34:22+00:00)
Title: Performance enhancements

Ugh, the diff is huge because IntelliJ did some reformatting. The actual code changes aren't very substantial, but github doesn't seem smart enough to not show changes that are purely whitespace.

Basically, the MetadataSystem instance now persists from Open to Close of a class/jar. This should have a substantial impact on performance when browsing multiple classes in the same JAR. The overhead in loading type metadata from disk is pretty huge.

I also wrote a custom composite type loader that always includes a standard type loader (for making sure JRE classes can be resolved). The individual JAR type loaders are added/removed as JAR files are opened/closed.

I also removed the "Unoptimized Bytecode AST" language and replaced it with a "Debug Languages" submenu.