Right now, intel-sdp_src_unpack() does a 'for' loop over all requested RPMs and extracts them one by one from the huge tarball. I believe it would take much less time if all the possible paths were just passed to 'tar -xf' and thus were extracted in a single run, and then the necessary logic was applied.
may be.
I will look into it.
is it worth saving 25% of time and using 650% of disk space?
(In reply to comment #3) > is it worth saving 25% of time and using 650% of disk space? Are those actual numbers? Could you elaborate?
Wrong testing. Doing it again. Will be much more.
okay I found a solution. Full extract 30 s 2100 MB Old solution 62 s 81 MB New solution 37 s 81 MB This should be fine.
(In reply to comment #6) > okay I found a solution. > > Full extract 30 s 2100 MB > Old solution 62 s 81 MB > New solution 37 s 81 MB > > This should be fine. Yes, it seems that you found the right way. Care to attach a diff or the new version?
I will send it off to the ml soon. The idea is simple, get a list with "t" and use that list to identify the location of the rpm inside the tarball. Then decompress alls at once.
(In reply to comment #8) > I will send it off to the ml soon. The idea is simple, get a list with "t" > and use that list to identify the location of the rpm inside the tarball. > Then decompress alls at once. Hmm, not sure about that but couldn't we just create a 'max' list of possible rpm locations and pass them all to tar? This would cause an error exit but we could probably just ignore it and verify the RPMs instead.
Maybe an evan faster solution.