[pacman-dev] Fast binary database
Sivert Berg
siveberg at online.no
Fri Nov 23 15:44:54 EST 2007
Hello,
I have been playing with the idea of speeding up pacman for a little while.
This is my first try. It's a binary database that uses a ternary search tree
to speedup file lookup and package lookup. The result can be found at
http://owwsnap.com/sarcina-0.0.1.tar.gz.
To compile it you need to run the normal ./configure && make, but you would
probably want to edit src/sarcina.c and change the hardcoded paths. If you're
running a new version of pacman (3.1 or something) you probably need to
change
libsarc/sarc.c:505: db_local = alpm_db_register("local");
into
alpm_option_set_dbpath("/var/lib/pacman/");
db_local = alpm_db_register_local();
I see you have discussed the database question several times. I hope this code
could give you some answers (is a binary database really faster etc). To run
this program you first need to build the database using sarcina -u. Then you
can:
- find who owns a file (sarcina -o file)
- list files that are outdated (sarcina -s)
- "install" a package (sarcina -i package).
This is pretty much just a proof-of-concept, so don't expect it to do much,
but I think it might be a start.
Sivert
More information about the pacman-dev
mailing list