[Ecls-list] Re: Bunch of fixes

Edi Weitz edi at agharta.de
Tue Mar 18 03:37:18 UTC 2003


Juan Jose Garcia Ripoll <worm at arrakis.es> writes:

> On Tuesday 18 March 2003 12:23, Edi Weitz wrote:
> > It now builds fine for me.
> > However, the "leak" problem I reported last week is still there for
> > me. Was it supposed to be fixed by your latest patches?
> 
> No. But it solves a leak problem which prevented building the old garbage 
> collector (--disable-boehm now should be usable under Linux-x86). This 
> garbage collector is a _precise_  one, except for data in the stack, and it 
> comes with a ROOM function. Both things should help me (or anyone) to solve 
> the problem you reported.

Ah, I see. I'll look at it in the next days.

I'm not sure if I reported the problem to the list, by the way, so
here it is again:

Build a recent version of my CL-PPCRE stuff
<http://weitz.de/cl-ppcre/> and then compile this function and execute
it:

(defun foo ()
  (let ((regex "abcd*(e|fg)+hij")
        (target "abcddddeefgehij"))
    (loop
      #+:ecl (gc t)
      (let ((start (get-internal-real-time)))
        (cl-ppcre:scan regex target)
        (format t "~,4F~%" (float (/ (- (get-internal-real-time) start) internal-time-units-per-second)))))))

This should result in iterations of the same length (except for GC)
and does so in other CL implementations. However it doesn't in ECL.

The presence or absence of the (GC T) line seems to be irrelevant for
this test. Also, it doesn't really matter which regular expression you
use for REGEX - the more complex it is the faster you see the problem.

Cheers,
Edi.




More information about the ecl-devel mailing list