emacs-devel
[Top][All Lists]
Advanced

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

Re: Pushing the `gnus-range-*' functions down into the C layer


From: Ted Zlatanov
Subject: Re: Pushing the `gnus-range-*' functions down into the C layer
Date: Fri, 10 Sep 2010 09:01:55 -0500
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux)

On Fri, 10 Sep 2010 15:45:23 +0200 Stefan Monnier <address@hidden> wrote: 

SM> Hmm... so how 'bout installing a C version of range-memq and keep
SM> everything else in Elisp?  Would that be good enough as a "quick
SM> fix"?

Lars, how about the performance of the set operations (difference,
union, subset/superset, intersection)?  Were you planning to do those in
C as well?  They'll benefit from a fast range-memq but they would still
do a lot of ELisp work.

Can ranges be an opaque type (with rangep, make-range, etc.) so the
implementation is irrelevant to the user?  That seems the best
compromise between performance and maintainability.  As long as you can
read and print ranges in a consistent format, that is.

Depending on the expected size and performance, the internals can
convert between bool-vectors, binary trees, inversion lists, plain
lists, whatever.

Ted




reply via email to

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