Files
tar/src
Paul Eggert 258d1c44e5 Avoid quadratic behavior with delayed links
Do this by searching a hash table instead of a linked list.
Problem reported by Martin Dørum in https://mort.coffee/home/tar/
via Gavin Smith in:
https://lists.gnu.org/r/bug-tar/2022-07/msg00003.html
* src/extract.c: Include hash.h.
Improve performance a bit on non-birthtime hosts
(struct delayed_link.has_predecessor): New member.
(delayed_link_head): Remove, replacing with ...
(delayed_link_table): ... this new variable.  All uses
of linked list replaced with hash table.
(dl_hash, dl_compare): New functions for hash table.
(create_placeholder_file): Initialize has_predecessor.
(apply_delayed_link): New function, with body taken from
most of the old apply_delayed_link.
(apply_delayed_links): Use it.  Respect has_predecessor.
Don’t bother freeing as we are about to exit.
2022-08-15 00:07:39 -07:00
..
2009-03-07 16:30:44 +02:00
2022-01-02 10:25:29 +02:00
2022-08-15 00:07:39 -07:00
2022-01-02 10:25:29 +02:00
2022-08-15 00:07:39 -07:00
2022-08-15 00:07:39 -07:00
2022-08-15 00:07:39 -07:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-07-25 09:44:00 -07:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-08-15 00:07:39 -07:00
2022-07-25 09:44:00 -07:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00
2022-01-02 10:25:29 +02:00