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