Integrity checking in pacman seems to be a CPU-bound embarrassingly parallel task, so I'd like to spread it out over every available core to speed it up. To me it looks like both the delta and regular package integrity checking loops in lib/libalpm/sync.c could be parallelised. But I've never messed with the pacman code before, so I have a couple questions about your best practices: - There doesn't seem to be any threading code in pacman/libalpm currently; would using pthreads directly be okay, or should a threading abstraction layer be created? - There's no portable way to get the number of available cores. Where does platform-specific code go in libalpm? The way to do it on Linux is with sched_getaffinity(); sysconf(_SC_NPROCESSORS_ONLN) is almost as good and works on BSD too I believe. Also, I guess a major question would be: would this be likely to be merged? It's not a major issue, but it's also not a very large change. Every time there's a KDE update or something similarly large I find myself wishing that all 2/4/24 of my cores were being used for the the integrity checks. -- Tavian Barnes