Details
-
Sub-task
-
Resolution: Fixed
-
P4
-
None
-
None
-
b89
Description
I was looking at the compilation speed of mandreel.js with a profiler, and identified few small changes that improve the speed of compilation:
- parsing a long constant in Lexer always threw a NumberFormatException as it first tried to parse it as int.
- there was still a lot of string concatenation in debug() calls in MethodEmitter. Eliminated them all.
- generating a name for labels for line numbers showed up on profiler's radar; the name was not really used.
- repeated discovery of field getters/setters for structure classes when they were used in different maps. Introduced a class that caches them in a ClassValue associated with the structure class.
- parsing a long constant in Lexer always threw a NumberFormatException as it first tried to parse it as int.
- there was still a lot of string concatenation in debug() calls in MethodEmitter. Eliminated them all.
- generating a name for labels for line numbers showed up on profiler's radar; the name was not really used.
- repeated discovery of field getters/setters for structure classes when they were used in different maps. Introduced a class that caches them in a ClassValue associated with the structure class.