numam-dpdk/lib/librte_acl
Mark Smith fd4b6f78ad acl: improve rules sorting
Replace O(n^2) list sort with an O(n log n) merge sort.
The merge sort is based on the solution suggested in:
http://cslibrary.stanford.edu/105/LinkedListProblems.pdf
Tested sort_rules() improvement:
100K rules: O(n^2):  31382 milliseconds; O(n log n): 10 milliseconds
259K rules: O(n^2): 133753 milliseconds; O(n log n): 22 milliseconds

Signed-off-by: Mark Smith <marsmith@akamai.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2015-10-24 22:52:53 +02:00
..
acl_bld.c acl: improve rules sorting 2015-10-24 22:52:53 +02:00
acl_gen.c acl: introduce config parameter for performance/space trade-off 2015-01-28 17:11:26 +01:00
acl_run_avx2.c acl: use scalar method fastest for some cases 2015-01-28 17:11:25 +01:00
acl_run_avx2.h acl: deduplicate some SSE and AVX2 code 2015-01-28 17:11:25 +01:00
acl_run_scalar.c acl: deduplicate a bit of RT code 2015-01-28 17:11:25 +01:00
acl_run_sse.c acl: use scalar method fastest for some cases 2015-01-28 17:11:25 +01:00
acl_run_sse.h acl: deduplicate some SSE and AVX2 code 2015-01-28 17:11:25 +01:00
acl_run.h acl: use scalar method fastest for some cases 2015-01-28 17:11:25 +01:00
acl_vect.h acl: deduplicate some SSE and AVX2 code 2015-01-28 17:11:25 +01:00
acl.h acl: remove subtree calculations at build stage 2015-06-04 11:14:45 +02:00
Makefile acl: remove old API 2015-09-03 19:22:48 +02:00
rte_acl_osdep.h acl: remove redundant macro 2015-06-18 17:59:18 +02:00
rte_acl_version.map acl: remove old API 2015-09-03 19:22:48 +02:00
rte_acl.c acl: remove old API 2015-09-03 19:22:48 +02:00
rte_acl.h acl: remove old API 2015-09-03 19:22:48 +02:00
tb_mem.c acl: use setjmp/longjmp to handle alloc failures at build phase 2015-04-28 11:55:03 +02:00
tb_mem.h acl: use setjmp/longjmp to handle alloc failures at build phase 2015-04-28 11:55:03 +02:00