In a freshly-configured Parrot, config_lib.pasm is 18k. Part of the build process turns this file into a frozen PMC. During global initialization, Parrot thaws this into a Hash PMC used in the root set -- the Parrot configuration Hash.
This Hash contains such useless information as which warning flags the compiler used to build Parrot supports (61 per my count), ExtUtils::MakeMaker commands used in Makefiles on platforms which do not have native commands for touch or chmod (for example), and system library symbols (86 per my count). It does contain some useful configuration information, such as expected library path prefixes. Disabling the configuration hash altogether speeds up Parrot startup by 13.23%, but tends to break libraries such as PGE which rely on library path prefixes. Note that all of this information is also available from config.pir. We should review the information passed through to src/parrot_config.c and remove entries which are unnecessary. We can expose more of this information through config.pir, where programs that rely on it can use it directly. -- c _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
