1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-11-10 19:45:01 -05:00
pacman/lib/libalpm
Dan McGee ae25167bcd Large performance improvement for check for owned directories
We can take a large shortcut here that saves us a lot of time,
especially when upgrading packages with lots of directories. Obviously
iterating the full file list of every single package to determine if
this directory was present in any other package can take quite some time
on a system with many packages installed. We don't need to remove a
directory at all if we are upgrading a package and the version we are
moving to still had the directory.

Also make a small optimization on the package comparsion- we really only
care about equality here, not the result of the compare, so we can
shortcut using our name_hash.

What kind of benefit does this give us? Oh, only a reduction from 295.7
million to 1.4 million strcmp() calls (99.5% fewer) during a
`pacman -S linux libreoffice-common` operation.

Signed-off-by: Dan McGee <dan@archlinux.org>
2011-10-14 14:58:12 -05:00
..
po Final Transifex update before 4.0 2011-10-12 13:42:12 -05:00
.gitignore Remove unnecessary entries from .gitignore files 2007-07-16 16:49:28 -04:00
add.c Move infrequently used path variables off the stack 2011-10-12 14:01:25 -05:00
add.h Rename pmhandle_t to alpm_handle_t 2011-06-28 14:04:00 +10:00
alpm_list.c Remove alpm_list_getdata wrapper function 2011-10-12 14:22:49 -05:00
alpm_list.h Remove alpm_list_getdata wrapper function 2011-10-12 14:22:49 -05:00
alpm.c Initialize cURL library on first use 2011-09-28 13:01:03 -05:00
alpm.h Introduce alpm_time_t type 2011-10-12 14:01:25 -05:00
backup.c Allow fileconflict if unowned file moving into backup array 2011-07-14 15:34:04 -05:00
backup.h Allow fileconflict if unowned file moving into backup array 2011-07-14 15:34:04 -05:00
base64.c Update base64 PolarSSL code 2011-08-15 06:24:49 -05:00
base64.h Update base64 PolarSSL code 2011-08-15 06:24:49 -05:00
be_local.c Introduce alpm_time_t type 2011-10-12 14:01:25 -05:00
be_package.c Add _alpm_process_siglist() logic to failed package validation 2011-09-22 10:35:52 -05:00
be_sync.c Refactor download payload reset and free 2011-09-28 13:01:03 -05:00
conflict.c Make _alpm_filelist_contains() NULL-safe 2011-10-14 14:50:27 -05:00
conflict.h Convert package filelists to an array instead of linked list 2011-07-21 15:04:30 -05:00
db.c Access db->pkgcache directly in db_free_pkgcache() 2011-09-20 10:23:10 -05:00
db.h Introduce alpm_time_t type 2011-10-12 14:01:25 -05:00
delta.c account for partial delta files in download size 2011-09-11 19:10:48 -05:00
delta.h Rename pmdelta_t to alpm_delta_t 2011-06-28 23:28:23 +10:00
deps.c _alpm_splitdep: use malloc instead of calloc 2011-09-27 17:52:38 -05:00
deps.h Be more robust when copying package data 2011-08-19 11:09:57 -05:00
diskspace.c diskspace: extract check_mountpoint() function 2011-10-12 14:22:49 -05:00
diskspace.h Use more correct integer types in diskspace checks 2011-09-07 21:05:04 -05:00
dload.c curl_gethost() potential bug fixups 2011-10-13 15:16:10 -05:00
dload.h Merge branch 'maint' 2011-10-14 08:16:18 -05:00
error.c Attempt to fix up some of the brokenness around failed package loads 2011-08-08 19:42:52 -05:00
graph.c Rename pmgraph_t to alpm_graph_t 2011-06-28 23:28:24 +10:00
graph.h Rename pmgraph_t to alpm_graph_t 2011-06-28 23:28:24 +10:00
group.c Rename internal functions with grp in their name 2011-06-29 15:52:33 +10:00
group.h Rename internal functions with grp in their name 2011-06-29 15:52:33 +10:00
handle.c Move default siglevel value from backend to frontend 2011-09-22 10:32:30 -05:00
handle.h Initialize cURL library on first use 2011-09-28 13:01:03 -05:00
log.c Prefix _alpm_errno_t members with ALPM 2011-07-02 02:01:39 +10:00
log.h Rename pmloglevel_t to alpm_loglevel_t 2011-06-28 23:28:24 +10:00
Makefile.am Add sha2 (sha256) routines from PolarSSL 2011-08-15 07:07:13 -05:00
md5.c Update MD5 routines with changes from PolarSSL 2011-08-11 20:17:21 -05:00
md5.h Update MD5 routines with changes from PolarSSL 2011-08-11 20:17:21 -05:00
package.c Introduce alpm_time_t type 2011-10-12 14:01:25 -05:00
package.h Introduce alpm_time_t type 2011-10-12 14:01:25 -05:00
pkghash.c alpm_list: use malloc instead of calloc 2011-09-27 17:49:27 -05:00
pkghash.h Rename pmpkghash_t to alpm_pkghash_t 2011-06-28 23:28:24 +10:00
rawstr.c include util.h in rawstr.c 2011-07-05 22:36:40 -05:00
remove.c Large performance improvement for check for owned directories 2011-10-14 14:58:12 -05:00
remove.h Be smarter about running ldconfig during removal transactions 2011-09-19 13:18:42 -05:00
sha2.c Add sha2 (sha256) routines from PolarSSL 2011-08-15 07:07:13 -05:00
sha2.h Add sha2 (sha256) routines from PolarSSL 2011-08-15 07:07:13 -05:00
signing.c Add user-visible warning message if public keyring not found 2011-10-12 17:54:08 -05:00
signing.h signing: add a process and retry loop for database signatures 2011-09-20 10:23:11 -05:00
sync.c Convert MALLOC to actually call malloc() 2011-10-12 14:01:25 -05:00
sync.h Rename pmhandle_t to alpm_handle_t 2011-06-28 14:04:00 +10:00
trans.c Refactor _alpm_runscriptlet() 2011-09-30 10:55:58 -05:00
trans.h Refactor _alpm_runscriptlet() 2011-09-30 10:55:58 -05:00
util.c Fix some strict 32-bit gcc warnings 2011-10-13 16:25:21 -05:00
util.h Convert MALLOC to actually call malloc() 2011-10-12 14:01:25 -05:00
version.c vercmp: ensure 2.0a and 2.0.a do not compare equal 2011-08-23 01:49:29 -05:00