Linked by Thom Holwerda on Mon 4th Jun 2007 16:38 UTC, submitted by anonymous
Benchmarks "We have developed a new package-management tool, called Opium, that improves on current tools in two ways: Opium is complete, in that if there is a solution, Opium is guaranteed to find it, and Opium can optimize a user-provided objective function, which could for example state that smaller packages should be preferred over larger ones. We performed a comparative study of our tool against Debian's apt-get on 600 traces of real-world package installations. We show that Opium runs fast enough to be usable, and that its completeness and optimality guarantees provide concrete benefits to end users."
Thread beginning with comment 245267
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Solving the wrong problem
by Tom5 on Mon 4th Jun 2007 20:30 UTC in reply to "RE: Solving the wrong problem"
Member since:

Even with Zero Install OPIUM offers the optimality benefit: if you eliminate conflicts you don't have to worry about the uninstall problem, but you do still have to figure out what is the best set of packages (or equivalent) to install to, for example, download the fewest bytes or get the most up-to-date system.

Sure, putting a solver like this in Zero Install would be interesting. The overhead might be a bit high (Zero Install runs its solver* each time a program is run; I guess we'd have to cache the result instead if using this).

* The current solver is very naive, but we mainly get away with it because we only worry about conflicts between the libraries required by a single program.

Good paper, BTW.

Reply Parent Score: 1

christucker Member since:

Glad you liked the paper. Although the performance results in the paper show us running about 3-4 times slower than APT the majority of this time is spent in distribution read and slice time, both of which can be improved a lot by using less naive approaches (they weren't the focus of the research, so we kept them simple). Also, bear in mind that the dist read time only happens when you ask it to: dist read time == apt-get update time. Realistically, I would expect to be able run a solve fast enough to be performance-comparable with APT (within 1-2x the runtime of APT) and guarantee all the optimality stuff. Caching results is certainly a good option for already-installed programs, though. Additionally, results in the paper are prior to a major optimization to conflict resolution, which we only have a preliminary idea of numbers for but which gives us comparable performance whether or not there is a conflict. This may not be an issue anyway for Zero Install as there are so few (if any) conflicts.

Reply Parent Score: 2