#
71e255cd |
|
08-Jul-2019 |
Augustin Cavalier <waddlesplash@gmail.com> |
packagefs: Remove PackageDataV1 from PackageData. Now that we never access V1 packages in here, we don't need this. This saves *24* bytes off the size of the class, which is extremely significant as not only every PackageFile instance has an instance of this class, but every PackageNode does too; so the savings from this change is probably in the MB.
|
#
bfa408d7 |
|
20-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
packagefs: PackageData: Fix copy and paste error
|
#
1f633814 |
|
17-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
hpkg format: compress the whole heap Instead of handling compression for individual file/attribute data we do now compress the whole heap where they are stored. This significantly improves compression ratios. We still divide the uncompressed data into 64 KiB chunks and use a chunk offset array for the compressed chunks to allow for quick random access without too much overhead. The tradeoff is a limited possible compression ratio -- i.e. we won't be as good as tar.gz (though surprisingly with my test archives we did better than zip). The other package file sections (package attributes and TOC) are no longer compressed individually. Their uncompressed data are simply pushed onto the heap where the usual compression strategy applies. To simplify things the repository format has been changed in the same manner although it doesn't otherwise use the heap, since it only stores meta data. Due to the data compression having been exposed in public and private API, this change touches a lot of package kit using code, including packagefs and the boot loader packagefs support. The latter two haven't been tested yet. Moreover packagefs needs a new kind of cache so we avoid re-reading the same heap chunk for two different data items it contains.
|
#
11cecf98 |
|
12-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
packagefs: Add support for hpkg format V1 * Add union-like class PackageData which wraps the V1 and V2 BPackageData classes. * GlobalFactory: Create a data reader depending on the data format version. * Package: Add a loader for V1 format and try that, if the other one fails.
|
#
bfa408d70a19a54976f211afc0fb9df014d2c1a4 |
|
20-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
packagefs: PackageData: Fix copy and paste error
|
#
1f633814fa347b0bd822f683af731615df600347 |
|
17-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
hpkg format: compress the whole heap Instead of handling compression for individual file/attribute data we do now compress the whole heap where they are stored. This significantly improves compression ratios. We still divide the uncompressed data into 64 KiB chunks and use a chunk offset array for the compressed chunks to allow for quick random access without too much overhead. The tradeoff is a limited possible compression ratio -- i.e. we won't be as good as tar.gz (though surprisingly with my test archives we did better than zip). The other package file sections (package attributes and TOC) are no longer compressed individually. Their uncompressed data are simply pushed onto the heap where the usual compression strategy applies. To simplify things the repository format has been changed in the same manner although it doesn't otherwise use the heap, since it only stores meta data. Due to the data compression having been exposed in public and private API, this change touches a lot of package kit using code, including packagefs and the boot loader packagefs support. The latter two haven't been tested yet. Moreover packagefs needs a new kind of cache so we avoid re-reading the same heap chunk for two different data items it contains.
|
#
11cecf980b5ee6a21563a7e78d4f2238a8b4d90f |
|
12-May-2013 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
packagefs: Add support for hpkg format V1 * Add union-like class PackageData which wraps the V1 and V2 BPackageData classes. * GlobalFactory: Create a data reader depending on the data format version. * Package: Add a loader for V1 format and try that, if the other one fails.
|