It’s an interesting article that is well worth the read. The actual reason for why gnu tar specifically is slow is that they’re using a linked list instead of a hash table for one data structure.
I enjoyed this. It also made me want to write C again.
Yeah, symlinks are tough thing to handle: https://lwn.net/Articles/899543/
Seems like a good candidate to at least report this, or maybe even propose a patch.
I love seeing the railscasts syntax theme in the wild!
I’m also surprised this issue existed in gnu tar. Perhaps it’s due to me being used to higher-level languages, but using a hashmap should have been obvious.
Would this have happened in bsdtar? I’m surprised that libarchive-tools is where that lives on debian these days…