bug-zile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-zile] Zee anastasis in progress!


From: Reuben Thomas
Subject: Re: [Bug-zile] Zee anastasis in progress!
Date: Sun, 23 Sep 2012 21:46:24 +0100

On 12 September 2012 13:44, Reuben Thomas <address@hidden> wrote:
>
> I'll post again and make a release once I reach feature parity with
> old Zee. My original estimate of two weeks looks reasonable, given
> that I'm about a week in.

Ha ha!

To be fair, although I've not yet reached feature parity, I've got a
long way with making Zee efficient, work that it should be possible to
reabsorb into Zile in the shape of a completion of the work of
implementing buffers in terms of blocks of memory. Specifically, I
have removed all but three calls to AStr's tostring method.

In the process I have bound several C functions with alien. At present
this binding is GNU-dependent (because one of them is the GNU
extension memrchr).

The last three tostring calls are to do with regex pattern matching. I
can't use the Lua interpreter's regex matcher (binding it with alien,
though it might work, is dodgy, and it doesn't run backwards, which is
needed for searching), but i think I can adapt lrexlib to allow it to
work directly with memory buffers, by allowing it to be passed an
object with a topointer method and a __len metamethod as the thing to
match against. I'm now pitching this to the lrexlib maintainer. The
alternative would be to write an alien binding for just GNU regex,
which would be a little more work and much less generally useful,
although it would then remove a dependency.

Zee is now seriously faster: its test suite (admittedly much smaller
than Zile's) has gone with just the last few changes from taking 17s
to run to 7s, and the code is now under 3,500 lines in total (i.e.
Lua, Makefile &c.) as opposed to 4,400 for C Zee, so not in the same
proportion as Lua:C Zile yet, but heading there (target: <3100).

-- 
http://rrt.sc3d.org



reply via email to

[Prev in Thread] Current Thread [Next in Thread]