Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update: Rewrite update script #372

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

fstachura
Copy link
Collaborator

No description provided.

tleb and others added 2 commits December 21, 2024 20:12
Avoid calling this parse-docs script that is expensive. This heuristic
avoids running it on most files, and is almost free.

Signed-off-by: Théo Lebrun <[email protected]>
By default ctags sorts entries. This is not useful to the update script,
but takes time.
user time for `update.py 16` on musl v1.2.5 went from 1m21.613s to
1m11.849s.
@fstachura fstachura marked this pull request as draft December 29, 2024 22:43
@fstachura
Copy link
Collaborator Author

fstachura commented Dec 29, 2024

I noticed that deduplicating definitions from references doesn't work properly.

New update script uses futures to dynamically schedule many smaller
tasks between a constant number of threads, instead of statically
assigning a single long running task to each thread.
This results in better CPU saturation.

Database handles are not shared between threads anymore, instead
the main thread is used to commit results of other threads into the
database.
This trades locking on database access for serialization costs - since
multiprocessing is used, values returned from futures are pickled.
(although in practice that depends on ProcessPool configuration)
@fstachura fstachura marked this pull request as ready for review December 30, 2024 00:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants