1. Edita on 4.0a3
- Posted by jemima Dec 18, 2009
- 1294 views
Has anyone tried running edita on 4.0a3? After a few straightforward edits (renaming entry/label/switch/retry vars, the only nonlocal one being integer retry in eamncode.e referenced precisely once in eamacro.ew), it seemed to run but immediately hang. However on closer inspection, it was taking 5 minutes to open/unpack win32lib.ew, and that's compared to <1 second on 2.4, some 300 times faster!
2. Re: Edita on 4.0a3
- Posted by mattlewis (admin) Dec 18, 2009
- 1288 views
However on closer inspection, it was taking 5 minutes to open/unpack win32lib.ew, and that's compared to <1 second on 2.4, some 300 times faster!
Yes, 3.1 win32lib apps are not terribly 4.0 friendly. The basic issue is that there are lots of files that do not include win32lib, but that use it and rely on another file (probably the main file) to include it.
Matt
3. Re: Edita on 4.0a3
- Posted by petelomax Dec 18, 2009
- 1328 views
However on closer inspection, it was taking 5 minutes to open/unpack win32lib.ew, and that's compared to <1 second on 2.4, some 300 times faster!
Yes, 3.1 win32lib apps are not terribly 4.0 friendly. The basic issue is that there are lots of files that do not include win32lib, but that use it and rely on another file (probably the main file) to include it.
Matt
Actually, my tests show it 13,800 times slower (0.03 vs 414 seconds), probably an exponential slowdown due to messed up refcounts. It has nothing to do with the new and bizarre include system, try this:
atom t t = time() sequence text integer lineno, count function Clone(sequence intxt) integer lt lt = length(intxt) return intxt[1..lt] end function text = {repeat("1234",60000)} count = 0 lineno = 0 while 1 do if lineno>=length(text[1]) then exit end if lineno += 1 text[1][lineno] = Clone(text[1][lineno]) count += 1 if count>2000 then printf(1,"unpacking %d\n",{lineno}) count = 0 end if end while printf(1,"done, t=%3.2f\n",time()-t)
Forked into: Sequence test
4. Re: Edita on 4.0a3
- Posted by ChrisB (moderator) Dec 19, 2009
- 1190 views
Hi
Thats reaaly quite a large difference - I ran it on eu 3.1.1 on a virtual xp, and even then it blinked so fast I had to run it several times before I realised it was actually working, but eu 4 on xp 390 seconds or so.
Why?
Chris
5. Re: Edita on 4.0a3
- Posted by DerekParnell (admin) Dec 19, 2009
- 1223 views
Hi
Thats reaaly quite a large difference - I ran it on eu 3.1.1 on a virtual xp, and even then it blinked so fast I had to run it several times before I realised it was actually working, but eu 4 on xp 390 seconds or so.
Why?
It is slower currently, but on my XP SP3 system, with Euphoria qddebugging code turned on, I'm getting around 35 seconds!.
There is something extra happening now with dereferencing temporary values and possibly copying RAM instead of just referencing it. I'll look into it in the next day or two (quite busy ATM with other non-Euphoria stuff).
6. Re: Edita on 4.0a3
- Posted by mattlewis (admin) Dec 31, 2009
- 1095 views
Actually, my tests show it 13,800 times slower (0.03 vs 414 seconds), probably an exponential slowdown due to messed up refcounts.
Pete, thanks for finding this!
Matt