summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2014-01-02 12:37:10 -0600
committerAllan McRae <allan@archlinux.org>2014-01-06 14:38:51 +1000
commit6c917e433e3192d4ac6bc8cc34d9c3a95a53c361 (patch)
tree08984c8743437dc1858a58e203fd6a4879260b58
parent30740d9d2fd859cbfa214a8bb3236ba73dedf159 (diff)
downloadpacman-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.h25
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);