-
-
Notifications
You must be signed in to change notification settings - Fork 15.5k
vimPlugins: Add --proc flag to update script. #83798
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
Conversation
This is based on discussion in NixOS#83008 and replaces it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a python developer, but LGTM
After reading #83008 it looks like what we really need is rate-limiting (maybe that is also the reason why I had to implement the exponential backoff in the first place). But this can already help, so I think we can merge this now. Better to wait for ofBorg though. I'm not sure what the current issue is (seems like master is broken). Ping me again tomorrow if I haven't merged by then. |
Also I want to say that I think the contribution, code and git commits are of very high quality, which might get lost in my nitpickyness here. |
^ That comment was meant for #83788. It also applies here, but the change is of course much smaller. |
@GrahamcOfBorg eval |
# synchronous variant for debugging | ||
# results = list(map(prefetch_with_cache, plugin_names)) | ||
pool = Pool(processes=30) | ||
pool = Pool(processes=args.proc) | ||
results = pool.map(prefetch_with_cache, plugin_names) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add an conditional to not use the pool if processes == 1
. The pool creates background threads which are harder to debug.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if processes == 1:
results = list(map(prefetch_with_cache, plugin_names))
else:
pool = Pool(processes=args.proc)
results = pool.map(prefetch_with_cache, plugin_names)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pool creates background threads which are harder to debug.
How is a single pooled process harder to debug?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It creates a thread. The other one is just a function call.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But how is a single thread harder to debug? pdb
still works...
This is based on discussion in #83008 and replaces it.
Motivation for this change
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)