-
Notifications
You must be signed in to change notification settings - Fork 70
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
Can dpkg-query be made multithreaded, and would that help? #228
Comments
Would be quite a lot of work. Many processes rely on others running beforehand. For instance, during deployment, the copy operations may not run in parallel, since this might induce race conditions. Some aspects can be parallelized, though, even though I'm not sure there will be a huge benefit speed wise. For instance, looking up copyright files on Debian and derivatives is really, really slow on some systems (less of a problem in one-time VMs as used in CI/CD environments). The pre-copy phase (which we consider the deployment phase, i.e., looking up dependencies and registering them in queues to defer the execution of the actual copy process) could be done in multiple threads as long as access to the data storage is synchronized. But, again, I am not entirely sure there's a huge gain. What exactly is your problem, though? "It is slow" doesn't tell me anything useful. There's a million ways in which an application can be slow. |
I only mean it takes a long time, but I expect it to as the resulting AppImage is, in this case, 128MB. |
Yeah, but why? Are you using plugins which take a long time because they redundantly run some deployment processes, for instance? Or is it your system's I/O that slows everything down? Are you on Debian and are affected by that copyright files deployment slow-down I observe a lot? Come on, please be a little more helpful. https://www.chiark.greenend.org.uk/~sgtatham/bugs.html |
Yes I'm on Debian and yes I did see a lot of |
Just for testing, re-run the process with |
Yep that's the issue. The deployment flies by with that flag. |
That sure is annoying. I see why it's happening, it's because the files are linked to /lib and not in /usr/lib. Compare:
$ ls -alh /|grep lib
Why not resolve symlink before the call out to dpkg-query? Am I missing something? |
So just for the record, this can happen when your I/O isn't quite up to date (e.g., using HDDs (or SSDs via SATA)), when you have hundreds of packages installed, when your filesystem induces a slowdown etc. I'd call this an I/O bandwidth issue. As said, in the real world, it usually doesn't matter so much since most people use automated builds to generate their release binaries (which is something I'd recommend, too). For local testing, the By the way, you should post links to public projects so devs can have a glance at it to look for typical issues. |
Probably an oversight, I guess? On the other hand, |
The symlinks are not part of the package in this case, the symlinks in the root are put there by the |
Thousands.
|
I guess in that case, for peace of mind, you'd actually want to ask |
I actually think this is a bug in |
But how can we guarantee (at least to some extent) we capture the right copyright file if we look up the paths first? And, again, does it speed things up? As said, I think actually it might make sense to even look up both locations. |
I don't know if it speeds it up as I haven't patched this file yet or built
Patching this should be easy, unless you're against fixing it this way. |
As I see it we now have two issues: copyright detection failure due to non-resolution of symlinks, and the original speed issue. |
Surely not. I expressed my concerns about changing the process. This just needs testing. Please don't hesitate to open a PR, ideally with some number crunching. |
With the advent of #231 I went from almost all my libraries except ones I compiled myself in /opt failing to find copyright files to none of them failing, so I have renamed this issue, as it does nothing for the speed issue. |
As said before, I'm not sure multithreading will speed things up, since it looks like some I/O bottleneck to me. We'd need an alternative frontend for |
It's really slow. I don't mind working on it if maintainers think it's possible.
The text was updated successfully, but these errors were encountered: