| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
This helps to minimize ResourceWarning triggered by ^C with python3.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enabled via cache-format = md5-dict
This format is essentially just flat_hash, using md5 rather than mtime,
and dropping the path component from _eclasses_ entries.
From a speed standpoint, the md5 overhead is ~16% in comparison to mtime,
timed on a modern sandybridge; specifically, validating 29k nodes takes
~8.8s for flat_md5, while the pms norm is ~7.7s.
That said, the cache is /usable/ in places PMS is not; in those cases,
it can definitely be a win since even if the cache is partially old,
it's better than regenerating everything from scratch.
(cherry picked from commit 95ddf97e2f7e7d3f6a072604b2df5f77e9298558)
Change-Id: Ic3561369b7a8be7f86480f339ab1686fddea6dff
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The io.open() function is the same as the built-in open() function in
python3, and its implementation is optimized in python-2.7 and later.
In addition to the possible performance improvement, this also allows
us to avoid any future compatibility issues with codecs.open() that
may arise if it is delegated to the built-in open() function as
discussed in PEP 400.
The main caveat involved with io.open() is that TextIOWrapper.write()
raises TypeError if given raw bytes, unlike the streams returned from
codecs.open(). This is mainly an issue for python2 since literal
strings are raw bytes. We handle this by wrapping TextIOWrapper.write()
arguments with our _unicode_decode() function. Also, the
atomic_ofstream class overrides the write() method in python2 so that
it performs automatic coercion to unicode when necessary.
|
| |
|
|
|
|
| |
svn path=/main/trunk/; revision=15297
|
|
|
|
| |
svn path=/main/trunk/; revision=15296
|
|
|
|
|
|
|
|
| |
iteration over entries from another nested cache instance. This can
happen if the user nests an overlay inside /usr/portage/local. Thanks
to Vlastimil Babka <caster@g.o> for this patch.
svn path=/main/trunk/; revision=15295
|
|
|
|
|
|
| |
float st_mtime in order to avoid rounding *up* in some rare cases.
svn path=/main/trunk/; revision=15125
|
|
|
|
|
|
|
| |
yields an empty string at the end which is causes _parse_data() to
catch a ValueError and raise CacheCorruption.
svn path=/main/trunk/; revision=14416
|
|
|
|
|
|
| |
<marat@slonopotamus.org> for this patch from bug #276813.
svn path=/main/trunk/; revision=14398
|
|
|
|
| |
svn path=/main/trunk/; revision=14343
|
|
|
|
|
|
| |
(2to3-3.1 -f except -nw ${FILES})
svn path=/main/trunk/; revision=14289
|
|
|
|
| |
svn path=/main/trunk/; revision=14107
|
|
|
|
|
|
| |
_unicode_encode() and _unicode_decode() where appropriate.
svn path=/main/trunk/; revision=14002
|
|
|
|
|
|
| |
<slonopotamusorama@gmail.com> for this patch from bug #276813.
svn path=/main/trunk/; revision=13834
|
|
|
|
| |
svn path=/main/trunk/; revision=13791
|
|
|
|
|
|
| |
implementation is used for _mtime_ and _eclasses_ handling.
svn path=/main/trunk/; revision=12781
|
|
|
|
|
|
| |
from _parse_data().
svn path=/main/trunk/; revision=12776
|
|
|
|
| |
svn path=/main/trunk/; revision=12646
|
|
|
|
|
|
|
|
|
|
| |
field inside the file instead of mangling the mtime of the cache entry
file. Also, fix FsBased._ensure_access() to properly skip the utime()
call when no mtime is passed in. Theses cache changes are compatible
with current stable portage (2.1.4.x), which uses the _mtime_ field
contained in the file when available.
svn path=/main/trunk/; revision=11984
|
|
|
|
| |
svn path=/main/trunk/; revision=11552
|
|
|
|
|
|
| |
key.
svn path=/main/trunk/; revision=11547
|
|
|
|
|
|
| |
the value is empty.
svn path=/main/trunk/; revision=11340
|
|
|
|
|
|
| |
Brian Harring for the suggestion.
svn path=/main/trunk/; revision=6918
|
|
|
|
|
|
| |
readonly mode.
svn path=/main/trunk/; revision=6265
|
|
|
|
| |
svn path=/main/trunk/; revision=5782
|
|
svn path=/main/trunk/; revision=5778
|