Re: csi from git version: slow?

2024-02-25 Thread felix . winkelmann
I just recall that we added line-number info to evaluated code,
this may also have an impact. You can measure the load-time
(just load a large source file) to check whether this is the case.
Evaluation performance should not have changed much, I think.


felix




Re: csi from git version: slow?

2024-02-25 Thread felix . winkelmann
> Hello, I've tried the git version (2024-02-23, compiled with LLVM-17
> clang, on a Debian 12 / linux 6.6.x). While csc and the executables it
> generates are a bit faster, running my program under csi is now twice as
> slow compared to the latest release (5.3.0).
>
>
> Now before I engage in other investigations, like compiling with GCC,
> checking the nature of my program (sets a large number of globals by
> running some DSL-type macros hundreds of times, would be the most
> obvious distinguishing characteristic), I need to ask this first: is
> this to be expected? Are there some "development version" / debug flags
> / expensive interpreter features that differ compared to stable? I
> customized only config.make by changing the C_COMPILER and PREFIX.

The default build-flags do not disable any specific debugging settings,
so you should get the normal, default efficiency, as with a normal release.

We changed some syntax-related stuff that might slow down the expansion
process. Can you determine whether the actual run-time in csi is slower
than before, without taking into account the expansion of macros?

You can also test whether the expansion phase is now slower in the
compiler by using the "-A" option (analyze only) and/or "-debug b".


cheers,
felix




csi from git version: slow?

2024-02-24 Thread Al
Hello, I've tried the git version (2024-02-23, compiled with LLVM-17 
clang, on a Debian 12 / linux 6.6.x). While csc and the executables it 
generates are a bit faster, running my program under csi is now twice as 
slow compared to the latest release (5.3.0).



Now before I engage in other investigations, like compiling with GCC, 
checking the nature of my program (sets a large number of globals by 
running some DSL-type macros hundreds of times, would be the most 
obvious distinguishing characteristic), I need to ask this first: is 
this to be expected? Are there some "development version" / debug flags 
/ expensive interpreter features that differ compared to stable? I 
customized only config.make by changing the C_COMPILER and PREFIX.



Thanks, Al