Arne Goedeke wrote:
- cpp.o is 153KB vs. language.o being 131KB. It is rather unexpected
that the cpp module is larger than the actual language parser. Why don't we use yacc for the preprocessor too; or is it difficult to capture the rules in yacc for the preprocessor?
The preprocessor is included 3 times (once for each string width). A
So Pike actually supports source code delivered in UTF character encoding? Does that make sense? Why not limit the preprocessor and source compiling to 8 bit only?
similar thing happens in sscanf (for all possible combinations of string widths).
One other culprit for code size is sprintf, due to the use of huge macros for slow paths. There are this and other places where reducing the code size by de-inlining would also help performance on big cpus (or at least not make it slower).
I'd think so too. Increases cache hits, at least.