frr/vtysh
David Lamparter 4bc41193e8 vtysh, lib: preprocess CLI graphs
Store a parsed and built graph of the CLI nodes in vtysh, rather than
parsing and building that graph every time vtysh starts up.

This provides a 3x to 5x reduction in vtysh startup overhead:

`vtysh -c 'configure' -c 'interface lo' -c 'do show version'`

- before: 92.9M cycles, 1114 samples
- after: 16.5M cycles, 330 samples

This improvement is particularly visible for users scripting `vtysh -c`
calls, which notably includes topotests.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2024-07-31 08:08:53 -04:00
..
.gitignore vtysh, lib: preprocess CLI graphs 2024-07-31 08:08:53 -04:00
daemons.pl *: manual SPDX License ID conversions 2023-02-09 14:09:07 +01:00
Makefile build: non-recursive vtysh 2018-09-08 21:26:54 +02:00
subdir.am vtysh, lib: preprocess CLI graphs 2024-07-31 08:08:53 -04:00
vtysh.c vtysh: de-conditionalize and reorder install_node 2024-07-31 08:08:53 -04:00
vtysh.h lib, vtysh, topotests: fix 'show ip[v6] access-list ... json' formatting 2024-05-14 13:22:20 +02:00
vtysh_config.c pimd, lib, vtysh: Added new 'router pim[6] [vrf NAME]' config node 2024-07-16 13:30:35 -05:00
vtysh_main.c vtysh: de-conditionalize and reorder install_node 2024-07-31 08:08:53 -04:00
vtysh_user.c vtysh: Give actual pam error messages 2023-05-26 07:44:11 -04:00
vtysh_user.h *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00