diff options
author | Dan McGee <dan@archlinux.org> | 2014-01-02 19:37:10 +0100 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2014-01-06 05:38:51 +0100 |
commit | 6c917e433e3192d4ac6bc8cc34d9c3a95a53c361 (patch) | |
tree | 08984c8743437dc1858a58e203fd6a4879260b58 | |
parent | 30740d9d2fd859cbfa214a8bb3236ba73dedf159 (diff) | |
download | pacman-6c917e433e3192d4ac6bc8cc34d9c3a95a53c361.tar.gz pacman-6c917e433e3192d4ac6bc8cc34d9c3a95a53c361.tar.xz |
Reorder and reshape the package struct for better packing
This shrinks down the total size of the package struct by a handful of
bytes, saving us some memory and cache pressure when we are loading up
the entirety of the sync and local databases.
Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | lib/libalpm/package.h | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/lib/libalpm/package.h b/lib/libalpm/package.h index e56e14ed..228fca39 100644 --- a/lib/libalpm/package.h +++ b/lib/libalpm/package.h @@ -102,18 +102,6 @@ struct __alpm_pkg_t { off_t isize; off_t download_size; - int scriptlet; - - alpm_pkgreason_t reason; - alpm_pkgvalidation_t validation; - alpm_dbinfrq_t infolevel; - alpm_pkgfrom_t origin; - /* origin == PKG_FROM_FILE, use pkg->origin_data.file - * origin == PKG_FROM_*DB, use pkg->origin_data.db */ - union { - alpm_db_t *db; - char *file; - } origin_data; alpm_handle_t *handle; alpm_list_t *licenses; @@ -131,6 +119,19 @@ struct __alpm_pkg_t { struct pkg_operations *ops; alpm_filelist_t files; + + /* origin == PKG_FROM_FILE, use pkg->origin_data.file + * origin == PKG_FROM_*DB, use pkg->origin_data.db */ + union { + alpm_db_t *db; + char *file; + } origin_data; + + alpm_dbinfrq_t infolevel; + alpm_pkgvalidation_t validation; + alpm_pkgfrom_t origin; + alpm_pkgreason_t reason; + unsigned int scriptlet; }; alpm_file_t *_alpm_file_copy(alpm_file_t *dest, const alpm_file_t *src); |