0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-22 17:51:53 +00:00
bird/sysdep/unix
Jan Maria Matejka dae0ea9b0e Trie optimizer
This patch optimizes prefix sets like
  [ 10.0.0.0/24, 10.0.1.0/24, 10.0.2.0/24, 10.0.3.0/24 ]
into
  [ 10.0.0.0/22{24,24} ]

This should improve config loading speed with large config files.

Works only in config-check mode; the appropriate flag is -O.
Beware. The output is written directly on stdout.

This patch is not intended to be ever merged with mainline in this form.
Instead, we should fix bad lexer performance and also merge the
merge-able prefixes on-the-fly during trie creation. Ultimately,
we should have better possibility to feed database-like structures into
BIRD instead of config file.
2018-09-12 15:32:21 +02:00
..
config.Y Implement latency tracking, internal event log and watchdog 2015-03-02 09:41:14 +01:00
endian.h OpenBSD port related changes. 2009-05-11 01:32:49 +02:00
io.c BSD: Use MSG_DONTROUTE for unicast packets on FreeBSD 2018-07-28 19:30:56 +02:00
krt.c Filter: Allow silent filter execution 2018-01-16 16:20:01 +01:00
krt.h Nest: Fix bug in device proto 2015-11-23 11:13:40 +01:00
krt.Y KRT: Fix trivial error 2016-08-31 14:02:41 +02:00
log.c Some more autoconf cleanups 2017-05-16 12:59:22 +02:00
main.c Trie optimizer 2018-09-12 15:32:21 +02:00
Modules Cleanup in sysdep KRT code, part 2. 2012-04-30 22:25:24 +02:00
progdoc Doc: renamed progdoc files Doc -> progdoc to fix collision with doc/ folder on case-insensitive filesystems 2018-04-23 11:29:13 +02:00
random.c Split random number functions off io.c, so that they can be documented 2000-06-05 11:46:40 +00:00
timer.h Fix some forgotten warnings 2017-05-18 14:26:57 +02:00
unix.h Trie optimizer 2018-09-12 15:32:21 +02:00