1
0
Fork 0
Commit Graph

36 Commits (6e81f63635fb8f60a3a51af811832db735c8e558)

Author SHA1 Message Date
Nils Adermann 6e81f63635 Reduce memory footprint of rules by storing data in blob
Not declaring the job property saves significant amounts of memory as
most rules leave it as null
2015-07-09 17:23:45 +02:00
Nils Adermann c7e1f49e78 Rule hashes are only used in the rule set, so no need to store them 2015-07-08 19:11:59 +02:00
Nils Adermann 15d572da4c Use 4 byte integer from raw md5 instead of 5 hex representation chars
The hash is necessary as comparisons are significantly too slow
otherwise. The old hash function used substr on the hexadecimal
representation of the md5 hash, rather than the raw binary output. This
wastes a significant amount of memory, as each byte can only be used to
store up to 4 bit of information. The new hash has 32bit instead of
20bit and uses only a 4 byte integer instead of a 5 byte string.
2015-07-08 19:11:58 +02:00
Markus Staab c9bdf3a07a added the actual phpversion into the error message when phpversion doesn satisfy the requirement 2015-04-29 18:21:18 +02:00
Jordi Boggiano 3ba581f0df Improve error messages for required hhvm/php versions, fixes #3767 2015-02-25 16:24:39 +00:00
Nils Adermann 2c43a3bcd0 Improve docblocks of public properties 2014-12-01 19:07:26 +01:00
Nils Adermann 107a736440 Recreate getLiterals method for BC 2014-12-01 19:05:01 +01:00
Nils Adermann 26598c4a9a Remove unnecessary pool reference from rules 2014-12-01 19:02:50 +01:00
Nils Adermann 5c0efdcaa2 Move public properties to top and document them 2014-12-01 18:25:22 +01:00
Nils Adermann ef41f136f8 Literals on rule are now public
This causes a reduction of ~500k function calls for packagist composer
update (~14 million total).
2014-12-01 18:08:56 +01:00
Jordi Boggiano cc37e4b0b8 Show defaulted version if phpversion() returns nothing, fixes #2313 2013-10-09 19:44:53 -03:00
Jordi Boggiano cc9dac8fe2 Fix tests and convert all package lists to Name[Versions] format 2013-04-27 00:31:22 +02:00
Jordi Boggiano 201cde05be Show reasons why an operation is executed in -vv mode, fixes #1063 2013-04-27 00:11:06 +02:00
Jordi Boggiano 0700cd9186 Adjust according to feedback 2013-04-17 17:37:22 +02:00
Jordi Boggiano db4055b778 Put a higher prio on replacers of the same vendor as the required package 2013-04-17 15:39:42 +02:00
Pascal Borreli 5eead93250 Fixed typos 2012-10-24 23:14:04 +00:00
Jordi Boggiano a8171f5be0 Display prettier messages for second-degree required exts to avoid confusion 2012-10-10 17:54:17 +02:00
Nils Adermann cc7632489d Make problem report messages more readable
Added pretty strings to constraints
2012-06-20 19:06:36 +02:00
Nils Adermann 5bea5974f7 Improve error messages for solver problems 2012-06-07 03:23:23 +02:00
Jordi Boggiano 1bd4ccbd54 php-cs-fixer magic 2012-05-22 12:07:08 +02:00
Nils Adermann c869566868 Make ruleHash a protected member of rules 2012-05-20 15:57:38 +02:00
Nils Adermann dd527a4049 Remove weak rules
Since we no longer have suggest/recommend rules and no longer use any update
or feature rules so packages are removed by default, we do not need weak rules
anymore.
2012-05-19 21:49:48 +02:00
Nils Adermann 451bab1c2c Get rid of Literal object / literal id mix, use literals only to save memory 2012-05-19 20:38:56 +02:00
Nils Adermann 46e4ae0e6a Move rule generation from solver into separate rule set generator 2012-05-15 21:36:47 +02:00
Nils Adermann 70e306f055 Process all jobs in one method and remove lock jobs which are not used 2012-05-15 20:22:48 +02:00
Nils Adermann bd66c27ff6 We mark packages as uninstallable by removing them from the repo
As it is faster to remove packages from the repos and keep them out of the
package pool to begin with, we don't need an installable() method on the
policy.
2012-05-15 19:57:55 +02:00
Nils Adermann 0c1944a9d0 Let the solver handle aliases instead of the installer 2012-05-09 15:15:39 +02:00
Nils Adermann 83123b2d40 Generate human readable explanations of rules which cause problems 2012-03-18 21:09:26 +01:00
Leszek Prabucki f59ca1e2f8 Made fixes after review. 2012-01-24 18:48:42 +01:00
Leszek Prabucki 9488b0f85f Fixed code. Changes improved code testability 2012-01-24 18:44:55 +01:00
Nils Adermann 40b33914b3 Compute rule hashes for faster duplicate detection 2011-11-21 16:04:33 +01:00
Nils Adermann 825deff09f Completed analysis of unsolvable situations and main decision process 2011-07-08 07:11:04 -04:00
Nils Adermann 498125adbe Assertions are now properly decided before running the main solver.
Updating does not work yet. The test case works fine for installing/removing
the correct packages however. Weak (update/feature) rules are entirely ignored
so far.

Watches are on literal ids rather than literals to save on function calls
and memory usage. So a few methods for literals now have an id counter part.
This should probably be refactored to have the literal versions call the
id ones instead.
2011-06-07 22:43:26 +02:00
Nils Adermann 2e41993822 Update solver to use PackageInterface and store pool package ids inside of packages 2011-06-03 18:27:44 +02:00
Jordi Boggiano 7ea2fd6c93 Fix author/copyright 2011-04-17 21:39:53 +02:00
Nils Adermann 933cc6179b Import initial partial port of the libzypp satsolver. 2011-04-05 17:37:19 +02:00