pacman/lib/libalpm
Aaron Griffin 2ee90ddae2 Maintain list tail pointers in the head node
List head nodes contain null 'prev' pointer, which we can (ab)use to maintain a
back reference to the tail pointer of the list.

While list additions are not _significantly_ improved, they are still sped up.

Original
   $ time pacman -Qo /usr/bin/wtpt
   /usr/bin/wtpt is owned by lcms 1.17-2

   real    0m3.623s
   user    0m1.883s
   sys     0m1.473s

New
   $ time pacman -Qo /usr/bin/wtpt
   /usr/bin/wtpt is owned by lcms 1.17-2

   real    0m2.006s
   user    0m0.263s
   sys     0m1.627s

Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-11-06 22:47:10 -06:00
..
po Add pmdelta_t structure and functions to libalpm. 2007-10-19 19:21:44 -05:00
.gitignore Remove unnecessary entries from .gitignore files 2007-07-16 16:49:28 -04:00
Makefile.am Add some more autoconf macros to filter our CFLAGS usage 2007-11-04 10:42:07 -06:00
add.c Remove the newline automatically added by alpm_logaction. 2007-11-04 18:04:43 -06:00
add.h Preliminary checkin for alpm_list conversion 2007-01-19 09:28:44 +00:00
alpm.c Clean up usage of extern variables 2007-11-04 12:05:22 -06:00
alpm.h Readd scriptlet logging that got lost in an earlier commit 2007-11-04 11:27:41 -06:00
alpm_list.c Maintain list tail pointers in the head node 2007-11-06 22:47:10 -06:00
alpm_list.h Make general list copy function 2007-10-29 21:05:04 -05:00
backup.c Remove support for SHA1 from pacman. 2007-08-16 11:30:38 -04:00
backup.h Const correctness! 2007-06-05 17:34:33 -04:00
be_files.c Print and typecast time_t correctly 2007-10-23 00:35:42 -05:00
cache.c libalpm: add newlines to all strings passed to log callback 2007-08-23 22:26:55 -04:00
cache.h Big commit this time: 2007-03-03 08:13:59 +00:00
conflict.c libalpm: use an lstat wrapper so we never dereference dir symlinks 2007-11-04 18:02:25 -06:00
conflict.h This commit looks much more monumental than it is. Almost all just #include 2007-03-05 22:13:33 +00:00
db.c libalpm/db.c: change two warnings to errors 2007-11-05 21:10:43 -06:00
db.h Add pmdelta_t structure and functions to libalpm. 2007-10-19 19:21:44 -05:00
delta.c libalpm/delta: add const to most methods 2007-10-29 01:28:13 -05:00
delta.h Add pmdelta_t structure and functions to libalpm. 2007-10-19 19:21:44 -05:00
deps.c Clean up usage of extern variables 2007-11-04 12:05:22 -06:00
deps.h libalpm/deps.c : cleanup + little fix for resolvedeps. 2007-07-15 10:37:38 -04:00
error.c Download delta files if UseDelta is set. 2007-10-19 19:29:17 -05:00
error.h make alpm_strerror binding friendly 2007-09-11 20:58:27 -05:00
group.c libalpm: introduce MALLOC and CALLOC macros 2007-10-29 01:00:52 -05:00
group.h Remove FREEGRP macro and correctly type _alpm_grp_free 2007-04-27 20:38:54 -04:00
handle.c libalpm: open the logstream on demand 2007-11-04 16:38:59 -06:00
handle.h Clean up usage of extern variables 2007-11-04 12:05:22 -06:00
log.c libalpm: open the logstream on demand 2007-11-04 16:38:59 -06:00
log.h Add gcc format attribute to _alpm_log, catch a few bugs in the process 2007-10-08 21:25:52 -05:00
md5.c libalpm: Optimize/inline the md5 functionality 2007-09-28 23:27:14 -05:00
md5.h Updates to fix Doxygen documentation generation 2007-10-14 17:29:32 -05:00
package.c Copy pmdelta_t objects in _alpm_pkg_dup() 2007-10-29 21:06:13 -05:00
package.h Add pmdelta_t structure and functions to libalpm. 2007-10-19 19:21:44 -05:00
provide.c This commit looks much more monumental than it is. Almost all just #include 2007-03-05 22:13:33 +00:00
provide.h * Enforce const char* params when using strings 2007-02-26 08:38:48 +00:00
remove.c Maintain list tail pointers in the head node 2007-11-06 22:47:10 -06:00
remove.h Preliminary checkin for alpm_list conversion 2007-01-19 09:28:44 +00:00
server.c libalpm: introduce MALLOC and CALLOC macros 2007-10-29 01:00:52 -05:00
server.h Fix for FS 6404 and functionalize some cachedir handling stuff 2007-08-20 15:23:46 -04:00
sync.c When printing size_t, use %zd 2007-10-29 23:32:58 -05:00
sync.h Remove FREESYNC macro and correctly type _alpm_sync_free 2007-04-27 14:53:01 -04:00
trans.c Remove the newline automatically added by alpm_logaction. 2007-11-04 18:04:43 -06:00
trans.h Readd scriptlet logging that got lost in an earlier commit 2007-11-04 11:27:41 -06:00
util.c Remove the newline automatically added by alpm_logaction. 2007-11-04 18:04:43 -06:00
util.h libalpm: use an lstat wrapper so we never dereference dir symlinks 2007-11-04 18:02:25 -06:00