IIRC Leo added an option to Configure.pl to turn on optimising. Prior to this, on IRC Dan said to me that we need to avoid the hack that perl5 found itself in, when it had to retro-fit the ability to change the compiler flags per file.
Currently I don't think we have this ability. I was wondering if we could do it by specifying the optimiser flags in the form of /.../=xxx !...!=xxx yyy where the first two give a regular expression for the object file(s) we wish flags xxx to apply to. The alternative of !! for m!! should be allowed so that paths can be specified in the object files as needed, without shell escaping. All paths should be in Unix forward slash format, to reduce potential confusion. If there are no flags, then yyy applies to all other files. I think this works, except that I'm not sure how to have whitespace in xxx but let us have multiple regexps. I *think* we need to do this by having optimiser options be an array - specify the array on the command like by having multiple --optimise= flags, and interactively just keep accepting more flags, terminating at the first global flags yyy line. [We could even provide --optimize= as a synonym for the the Americans :-)] The reason I bring this up - I've just found this while browsing the gcc info pages: `-fgcse' Perform a global common subexpression elimination pass. This pass also performs global constant and copy propagation. _Note:_ When compiling a program using computed gotos, a GCC extension, you may get better runtime performance if you disable the global common subexpression elmination pass by adding `-fno-gcse' to the command line. Has anyone [er, I'm thinking of Leo :-)] tried benchmarking computed goto without this flag? And with the various align functions, such as -falign-jumps ? Nicholas Clark