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: Stefan Monnier
Subject: Re: Pushing the `gnus-range-*' functions down into the C layer
Date: Sat, 11 Sep 2010 11:36:52 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

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)?

The hope would be that when operating on compressed sets those
operations would be sufficiently fast even when coded in Elisp.

> They'll benefit from a fast range-memq but they would still do a lot
> of ELisp work.

Set intersection and difference should not use range-memq, so it would
only gain from working on compressed data.  And Elisp is slow, so it
would still be slow.  But hopefully these operations would gain enough
from working on compressed data, and are called sufficiently rarely for
it not to be a problem.

> 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.

That would probably be the way to go, indeed.


        Stefan



reply via email to

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