Hello

I've noticed that the performance of the length function is a bit low
for medium/large lists.  As far as I understand (from runtime.c
C_i_length), Chicken counts the elements from the given list everytime
length is invoked.  Is it like that?

If so, wouldn't it be better to have a list attribute which keeps the
number of elements?  So, the cost of invoking length would be nearly the
cost of accessing a variable (of course, there is the cost of keeping
the attribute up-to-date whenever an insertion/removal occurs and the
memory usage).  I think Python uses this approach.

What do you think?

Best wishes.
Mario


_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to