1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-08-13 17:03:46 -04:00
pacman/lib/libalpm
Dan McGee f2dff08600 Overhaul archive fgets function
The old function was written in a time before we relied on it for nearly
every operation. Since then, we have switched to the archive backend and now
fast parsing is a big deal.

The former function made a per-character call to the libarchive
archive_read_data() function, which resulted in some 21 million calls in a
typical "load all sync dbs" operation. If we instead do some buffering of
our own and read the blocks directly, and then find our newlines from there,
we can cut out the multiple layers of overhead and go from archive to parsed
data much quicker.

Both users of the former function are switched over to the new signature,
made easier by the macros now in place in the sync backend parsing code.

Performance: for a `pacman -Su` (no upgrades available),
_alpm_archive_fgets() goes from being 29% of the total time to 12% The time
spent on the libarchive function being called dropped from 24% to 6%.

This pushes _alpm_pkg_find back to the title of slowest low-level function.

Signed-off-by: Dan McGee <dan@archlinux.org>
2010-12-21 14:58:17 -06:00
..
po Separate be_files into be_sync and be_local 2010-10-14 13:17:38 +10:00
.gitignore Remove unnecessary entries from .gitignore files 2007-07-16 16:49:28 -04:00
add.c Attempt to stop installation when we encounter problems 2010-12-12 21:42:41 -06:00
add.h Bump copyright dates to 2010 2010-03-14 19:46:59 -05:00
alpm_list.c alpm_list_diff_sorted - make some arguments const 2010-03-25 21:31:37 -05:00
alpm_list.h alpm_list_diff_sorted - make some arguments const 2010-03-25 21:31:37 -05:00
alpm.c Fix libfetch configure checking 2010-09-06 11:20:51 -05:00
alpm.h Always specify arguement type in function delcarations 2010-12-20 18:03:21 -06:00
backup.c Bump copyright dates to 2010 2010-03-14 19:46:59 -05:00
backup.h Bump copyright dates to 2010 2010-03-14 19:46:59 -05:00
be_local.c Abstract has_scriptlet() to package ops struct 2010-12-13 21:25:14 -06:00
be_package.c Overhaul archive fgets function 2010-12-21 14:58:17 -06:00
be_sync.c Overhaul archive fgets function 2010-12-21 14:58:17 -06:00
conflict.c alpm: don't expose alpm_depcmp 2010-12-12 20:08:54 -06:00
conflict.h Bump copyright dates to 2010 2010-03-14 19:46:59 -05:00
db.c Correctly force load of package reason 2010-12-13 21:25:14 -06:00
db.h Remove non-public functions from header 2010-12-13 21:16:47 -06:00
delta.c More consistent printing of off_t and time_t 2010-03-25 21:58:35 -05:00
delta.h Move MAX_DELTA_RATIO definition 2010-12-12 20:29:05 -06:00
deps.c Use _alpm_pkg_find in deps search 2010-12-14 11:50:50 -06:00
deps.h alpm: don't expose alpm_depcmp 2010-12-12 20:08:54 -06:00
diskspace.c Only check diskspace availability if needs more than zero 2010-12-20 18:03:34 -06:00
diskspace.h diskspace style cleanups and small fixes 2010-12-12 20:32:05 -06:00
dload.c Remove AC_TYPE_SIGNAL usage 2010-12-12 20:29:30 -06:00
dload.h Bump copyright dates to 2010 2010-03-14 19:46:59 -05:00
error.c Implement disk space checking 2010-12-12 20:29:59 -06:00
graph.h Bump copyright dates to 2010 2010-03-14 19:46:59 -05:00
group.c Bump copyright dates to 2010 2010-03-14 19:46:59 -05:00
group.h Bump copyright dates to 2010 2010-03-14 19:46:59 -05:00
handle.c Add configuration option to control disk space checking 2010-12-12 20:30:05 -06:00
handle.h Always specify arguement type in function delcarations 2010-12-20 18:03:21 -06:00
log.c Bump copyright dates to 2010 2010-03-14 19:46:59 -05:00
log.h Bump copyright dates to 2010 2010-03-14 19:46:59 -05:00
Makefile.am Prototype disk space checking functionality 2010-12-12 20:29:37 -06:00
md5.c libalpm md5: use larger and dynamic buffer 2010-09-02 10:33:21 -05:00
md5.h libalpm/md5: Fix license header 2008-06-03 21:31:31 -05:00
package.c Used hashed package name in _alpm_pkg_find 2010-12-14 12:36:02 -06:00
package.h Reorganize fields in package struct 2010-12-14 17:46:02 -06:00
remove.c alpm/remove.c : respect --dbonly during remove-upgrade 2010-12-12 20:19:24 -06:00
remove.h Bump copyright dates to 2010 2010-03-14 19:46:59 -05:00
sync.c Display progress bar for disk space checking 2010-12-12 20:30:11 -06:00
sync.h Bump copyright dates to 2010 2010-03-14 19:46:59 -05:00
trans.c Merge branch 'maint' 2010-12-12 19:53:20 -06:00
trans.h Bump copyright dates to 2010 2010-03-14 19:46:59 -05:00
util.c Overhaul archive fgets function 2010-12-21 14:58:17 -06:00
util.h Overhaul archive fgets function 2010-12-21 14:58:17 -06:00
version.c Remove call to function logger 2010-05-04 23:38:52 -05:00