emacs-devel
[Top][All Lists]
Advanced

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

Re: Preferred approach to inclusion of data in ELPA package


From: Hugo Thunnissen
Subject: Re: Preferred approach to inclusion of data in ELPA package
Date: Sun, 20 Aug 2023 21:24:26 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0


On 8/19/23 17:51, Philip Kaludercic wrote:
Hugo Thunnissen <devel@hugot.nl> writes:

On 8/17/23 23:14, Philip Kaludercic wrote:
Another idea is to have a Makefile generate the file, like the one you
describe in option 2., that is generate whenever the package is built
and bundled into a tarball for distribution.  That way you don't have to
store a binary blob in your repository, and you can avoid burdening the
user with additional computations at either compile or runtime.

Does the generation require any special functionality/tools/code to be
provided on the device the index is generated on?
The php function/class stubs are generated with a php script, but I'm
checking the resulting stubs file into git. The index itself can be
built with just my package based on the stubs file.
I saw that, and the commit did not look that nice, but I cannot say that
I have looked into the issue in sufficient detail to say with certainty
or not that there is no better solution.

There are alternatives or improvements to this approach, which I mentioned in my response to sbaug (https://lists.gnu.org/archive/html/emacs-devel/2023-08/msg00748.html) . I don't think I'll be able to get around having to distribute-, or having the user download/generate some kind of index though.

Also: If the former is the case, is the reduction in load time that
this brings even significant enough to be worth the bother or should I
just hold off on this while I look for a more efficient solution?
I'd say it would be worth it, if the resulting package would be smaller
and would load quicker.  After all, the performance on your laptop might
not be that significant of a difference, while for someone else with an
older or slower device, a 30%-speedup is pretty significant.

You're right, on less performant systems it could make a more significant difference. And good news, after a few improvements the load time is now down to ~150ms on my laptop. I also chose to load the data when the mode is first initialized, so simply loading my package won't cause the index to be loaded with it. The dumping of the index is done automatically when it is not present, so it would technically be fine to just distribute the PHP stubs with the package instead of the .eld index file. This would just make the user wait a little longer the first time they use the mode.




reply via email to

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