From 2a457c531978dc59b38b4bdbcc22dc3d8bdecbb6 Mon Sep 17 00:00:00 2001 From: Aaron Griffin Date: Thu, 11 Jan 2007 17:44:39 +0000 Subject: * Jürgen Hötzel _alpm_db_load_pkgcache: use mergesort to improve performance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/libalpm/cache.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib/libalpm/cache.c') diff --git a/lib/libalpm/cache.c b/lib/libalpm/cache.c index ccba3bd6..6aa517cf 100644 --- a/lib/libalpm/cache.c +++ b/lib/libalpm/cache.c @@ -44,6 +44,7 @@ int _alpm_db_load_pkgcache(pmdb_t *db, unsigned char infolevel) { pmpkg_t *info; + int count = 0; /* The group cache needs INFRQ_DESC as well */ /*unsigned char infolevel = INFRQ_DEPENDS | INFRQ_DESC;*/ @@ -61,9 +62,11 @@ int _alpm_db_load_pkgcache(pmdb_t *db, unsigned char infolevel) info->origin = PKG_FROM_CACHE; info->data = db; /* add to the collection */ - db->pkgcache = _alpm_list_add_sorted(db->pkgcache, info, _alpm_pkg_cmp); + db->pkgcache = _alpm_list_add(db->pkgcache, info); + count++; } + db->pkgcache = _alpm_list_msort(db->pkgcache, count, _alpm_pkg_cmp); return(0); } -- cgit v1.2.3-54-g00ecf