# Performance
Lookup performance is tested using D27604 kernel module. Basically, the module calls `fib[46]_lookup()` in a loop, measuring total lookup time.
* CPU: Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz ()
* 8 IP destinations (both IPv4/IPv6)
* single thread
* 10M lookups
* 4 runs
* dynamic algo switch
* r368604 (GENERIC-NODEBUG + ROUTE_ALGO)
## Results
### Small-fib ("standard" configuration: interface & default route)
* radix4: 279064482 nanoseconds, 35 830 428 pps
* radix4_lockless: 208777967 nanoseconds, 47 892 984 pps
* bsearch4: 68720124 nanoseconds, 145 503 229 pps
* dpdk_lpm4: 60284954 nanoseconds, 165 862 281 pps
* radix6: 346572490 nanoseconds, 28 853 992 pps
* radix6_lockless: 292266765 nanoseconds, 34 215 316 pps
### Large fib
IPv4: 710k routes
* radix4_lockless: 1070335461 nanoseconds, 9 342 865 pps
* bsearch4: N/A
* dpdk_lpm4: 73376846 nanoseconds, 136 282 772 pps
IPv6: 100k routes
* radix6_lockless: 1587777930 nanoseconds, 6 298 109 pps
* dpdk_lpm6: 176917777 nanoseconds, 56 523 432 pps