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>
This commit is contained in:
Dan McGee 2014-01-02 12:37:10 -06:00 committed by Allan McRae
parent 30740d9d2f
commit 6c917e433e
1 changed files with 13 additions and 12 deletions

View File

@ -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);