1. Re: Problems with URLs and Language optimisation
Daniel writes:
> If you could guarantee to us that any routines with say, 5 or less
> statements would be inlined, then we would use more subroutines,
> make our code more readable, and effectively
> implement a macro() feature without bloating or confusing
> the language in anyway. Is this a viable proposition ?
The idea of having Euphoria automatically in-line
small routines is viable. In-lining could be done within ex.exe
(exw.exe), or it could be done by a sophisticated
pre-processor.
I have a list of about 50 different things that I can do
to make Euphoria run faster or use less memory.
In-lining is just one of them. I naturally want to implement
optimizations that are: easy to do, safe, and which provide a big
speed-up or space saving to a large percentage of programs.
Unfortunately most of the best optimizations have already
been done, and I am now getting into serious cost/benefit
tradeoffs.
I will have to compare in-lining versus several other
promising optimizations, and versus new features,
porting to other platforms etc.
Remember that in-lining, whether manual or automatic,
does not guarantee a speed-up. In rare cases you might enlarge
your program so much that you increase your cache misses
when Euphoria reads your code. It would be faster to
execute a Euphoria subroutine stored in cache, than
to execute in-lined code stored in DRAM.
Regards,
Rob Craig
Rapid Deployment Software