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

vimPlugins: Add --proc flag to update script. #83798

Merged
merged 1 commit into from Mar 31, 2020

Conversation

ryneeverett
Copy link
Contributor

This is based on discussion in #83008 and replaces it.

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

This is based on discussion in NixOS#83008 and replaces it.
Copy link
Member

@rvolosatovs rvolosatovs left a 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

@timokau
Copy link
Member

timokau commented Mar 30, 2020

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.

@timokau
Copy link
Member

timokau commented Mar 30, 2020

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.

@timokau
Copy link
Member

timokau commented Mar 30, 2020

^ That comment was meant for #83788. It also applies here, but the change is of course much smaller.

@grahamc
Copy link
Member

grahamc commented Mar 30, 2020

@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)
Copy link
Member

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.

Copy link
Member

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)

Copy link
Contributor Author

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?

Copy link
Member

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.

Copy link
Contributor Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants