Greetings, I've found a few hotspots that'll be working on. I'd be very interested in discussing solutions. Performance flaws: * IdMaps are used to generate new ids. * Ho files contain huge amounts of duplicate information. * Ho files aren't saved lazily. * C code is used for generating atoms. Repeatedly mapping variables to 'const Nothing' is very expensive. It is currently the most expensive procedure in Jhc, taking ~20% CPU time when compiling the base library. The base library contains 65 megabytes of uncompressed data. Most of that is duplicate information that disappears when it is compressed. However, parsing that amount of data takes considerable time. Ho files are completely serialized before they're written to disk. Using C code for generating atoms results in no performance improvement. There are only a few cases where using C is beneficial and this is not one of them. -- Cheers, Lemmih