[Bese-devel] performance

Marco Baringer mb at bese.it
Fri Nov 25 19:16:33 UTC 2005


Alex Mizrahi <alex.mizrahi at gmail.com> writes:

> as i remember php has about 0% overhead for such things, comparing to
> static library. but it degrades when some library is used -- it has to
> parse source code of libraries on each access, also interpreter is
> slow..

let's pretend for a second that someone managers to create an honest
benchmark comparing ucw to other frameworks. i'd bet my left pinky
that ucw will lose said benchmark, so if my lef pinky is worth
anything we've just proven that ucw loses the benchmark and needs to
be optimized, and we didn't even need to write the benchmark! :)

ucw does a lot of stuff, and not everything is always needed. why not
concentrate on creating ways to turn certain featuers of ucw off when
you don't need them (or better: have the features turn themselves on
automatically when you use them).

example: the form element components don't need continuations, they
certianly don't need the transaction stuff (does anybody actually use
that stuff?). iff it turns out that this stuff is slowing down ucw we
(fsvo "we") should change the ucw component hierarchy so that you can
create components which don't have continuation or transaction slots
(maybe even backtracking could be turned off).

other example: we backtrack all values all the time, whether they've
changed or not. it shouldn't be too much work to make the backtrack
logic only copy/save values that have actually changed (even a simple
#'eq test will save a lot of memory).

other other example: the interpreter is called on all actions, whether
they use CALL or not. we have a full fledged code walker which can
esaily figure out when we need call/cc and when we don't (and we can
perform this check at compile time). if an action doesn't use CALL (or
any /cc methods or functions) then we can let the underlying lisp
compiler (which is presumably much faster than our interpreter) deal
with the code.

-- 
-Marco
Ring the bells that still can ring.
Forget the perfect offering.
There is a crack in everything.
That's how the light gets in.
	-Leonard Cohen



More information about the bese-devel mailing list