[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: RE: conditional compilation of debug facilities in LUA core
- From: Benoit Germain <bgermain@...>
- Date: Mon, 9 Sep 2002 12:35:41 +0200
Well, I have added a few
#ifdef LUA_REFLEXIVEDEBUG
all over the code (41 places are touched). I don't know about performance,
but I have a 8K code size reduction because of this. In itself it justifies
the change, to my mind.
A script of mine, where no error should occur, still runs fine :-).
The changes are as follows:
- removed support for hooks and setjmp/longjmp from the lua_State structure
- lua_Debug structure keeps only its i_ci field
- several error checking functions are redefined as empty macros
However, since I have no deep knowledge of the core's internals, I cannot
guarantee that it is truly operational.
Maybe someone would care to have a look ?
Cheers,
Benoit.
> -----Original Message-----
> From: Benoit Germain [mailto:bgermain@ubisoft.fr]
> Sent: lundi 9 septembre 2002 09:28
> To: Multiple recipients of list
> Subject: RE: conditional compilation of debug facilities in LUA core
>
>
> I am not working in an environment where the measures I could do are
> significant (W2K, to name it). Also, measures on an
> intel-based system with
> a few hundred Kb of L1 cache might not provide information as
> to the gain we
> get, say, on a R5900 core with 8K of L1 code cache :-)
> And I haven't yet had the time to do it, but I am going to
> take it real
> soon.
>
> Cheers,
>
> Benoit.
>
> > -----Original Message-----
> > From: Jani Kajala [mailto:jani@sumea.com]
> > Sent: vendredi 6 septembre 2002 19:34
> > To: Multiple recipients of list
> > Subject: Re: conditional compilation of debug facilities in LUA core
> >
> >
> > Hi,
> >
> > Have you profiled the difference in your application? How much more
> > performance you get by removing the debug stuff?
> >
> >
> > Regards,
> > Jani Kajala
> >
> > ----- Original Message -----
> > From: "Benoit Germain" <bgermain@ubisoft.fr>
> > To: "Multiple recipients of list" <lua-l@tecgraf.puc-rio.br>
> > Sent: Friday, September 06, 2002 5:10 PM
> > Subject: conditional compilation of debug facilities in LUA core
> >
> >
> > > Hi all (well, game developers might be more specifically
> > concerned, I
> > think)
> > >
> > > I was thinking that when using LUA as a scripting extension
> > for a game,
> > once
> > > the scripts are debugged they will not change, because
> the scripting
> > engine
> > > won't be exposed to the player (unless you use LUA as a
> > console language).
> > > In that case, all the debug stuff is no longer necessary,
> > as well as the
> > > hook mechanism. Therefore, in order to make LUA leaner and
> > faster, it
> > might
> > > be interesting to be able to compile the core with all this being
> > disabled.
> > > Of course the setjmp/longjmp mechanism should remain, but
> > testing for a
> > > count hook at each VM instruction, and keeping lua_Debug structure
> > pointers
> > > in some places is something I would want to be able to
> control, for
> > example
> > > by commenting out a -DLUA_REFLEXIVEDEBUG directive in the
> > config file...
> > >
> > > I guess this shouldn't be too much work for anybody, but if
> > this could
> > > become a feature of the official lua distribution, it would
> > spare many of
> > us
> > > the throes of despair at not having found all the places to
> > touch, and of
> > > doing all this all over again when upgrading.
> > >
> > > I suppose that it would mean that the associated compiler
> > would be unable
> > to
> > > generate unstripped bytecode files, and that a virtual
> > machine without
> > debug
> > > facilities would have to fail gracefully upon being handled
> > a precompiled
> > > file with debug infos (even if crashing would'nt bother me
> > too much).
> > >
> > > Anybody with me to convince the authors to include this
> > feature in 5.0
> > final
> > > :-) ?
> > >
> > > Cheers,
> > >
> > > Benoit.
> > >
> >
>