Commit Graph

35 Commits

Author SHA1 Message Date
Konstantinos Margaritis
87d8b357a9 Feature/refactor fdr (#251)
* remove the use of macros for critical loops, easier to debug
removed switch, merged get_conf_stride functions into 1

* remove the use of macros for critical loops, easier to debug
removed switch, merged get_conf_stride functions into 1
split FDR implementations into arch specific files (same for now)
2025-11-12 14:49:41 +02:00
gtsoul-tech
30dd577126 Bug fix/clang-tidy-performance (#300)
Various clang-tidy-performance fixes:
* noexcept
* performance-noexcept-swap
* performance
* performance-move-const-arg
* performance-unnecessary-value-param
* performance-inefficient-vector-operation
* performance-no-int-to-ptr
* add performance
* performance-inefficient-string-concatenation
* clang-analyzer-deadcode.DeadStores
* performance-inefficient-vector-operation
* clang-analyzer-core.NullDereference
* clang-analyzer-core.UndefinedBinaryOperatorResult
* clang-analyzer-core.CallAndMessage

---------

Co-authored-by: gtsoul-tech <gtsoulkanakis@gmail.com>
2024-06-20 14:57:19 +03:00
Konstantinos Margaritis
129df24422 Fix remaining marked as done const* cppcheck warnings 2024-05-15 10:52:31 +03:00
G.E
68306ba75c next batch for cppeheck, addressing syntaxError and
constParameterPointer
2024-04-24 17:32:09 +03:00
Konstantinos Margaritis
acb542a5be prefetch works best when addresses are 64-byte aligned 2021-10-12 11:50:32 +03:00
Konstantinos Margaritis
68b92f338d Revert "replace long macro and switch statement with function pointer array and branchless execution"
This reverts commit cc9dfed249.
2021-10-12 11:50:32 +03:00
Konstantinos Margaritis
381ef41168 replace long macro and switch statement with function pointer array and branchless execution 2021-10-12 11:50:32 +03:00
Konstantinos Margaritis
ba4a83aee7 optimize get_conf_stride_1() 2021-01-25 12:13:35 +02:00
Konstantinos Margaritis
e0980c4532 replace andn() by explicit bitops and group loads/stores, gives ~1% gain 2021-01-25 12:13:35 +02:00
Konstantinos Margaritis
e830470028 borrow cache prefetching tricks from the Marvell port, seem to improve performance by 5-28% 2021-01-25 12:13:35 +02:00
Konstantinos Margaritis
90b167926e clear zones array 2020-12-03 19:30:50 +02:00
Konstantinos Margaritis
b0cf02fdc1 move andn helper function to bitutils.h 2020-09-22 12:17:27 +03:00
Chang, Harry
2b1d3383aa replace "_avx2" with "_fat". 2017-08-21 11:14:59 +10:00
Wang, Xiang W
86c5f7feb1 FDR: Squash buckets of included literals in FDR confirm
- Change the compile of literal matchers to two passes.
 - Reverse the bucket assignment in FDR, bucket with longer literals has
   smaller bucket id.
 - Squash the buckets of included literals and jump to the the program of
   included literals directly from parent literal program without going
   through FDR confirm for included iterals.
2017-08-21 11:12:36 +10:00
Wang, Xiang W
67a8f43355 literal matchers: change context passed to callback to scratch 2017-08-21 11:12:36 +10:00
Justin Viiret
b126cbf556 fdr/teddy: simplify computing of confirm base 2017-08-21 10:39:00 +10:00
Justin Viiret
9bdd370163 fdr: align major structures to cachelines 2017-08-21 10:38:59 +10:00
Matthew Barr
cd418ea6a8 Wrapper for system intrin header 2017-04-26 15:18:26 +10:00
Matthew Barr
8201183138 Check compiler architecture flags in one place 2017-04-26 15:18:26 +10:00
Wang, Xiang W
448ce8a496 UE-3098: add unaligned load for andn without BMI 2017-04-26 15:17:03 +10:00
Wang, Xiang W
ffab97ca8c FDR: delete dead confirm code 2017-04-26 15:16:27 +10:00
Wang, Xiang W
90216921b0 FDR: front end loop improvement 2017-04-26 15:11:10 +10:00
Alex Coyte
8af4850d85 remove 'fast teddy' models 2017-04-26 14:43:43 +10:00
Wang, Xiang W
df7bc22ae0 fdr: remove confirm split and pull-back 2017-04-26 14:43:09 +10:00
Justin Viiret
68bf473e2e fdr: move long literal handling into Rose
Move the hash table used for long literal support in streaming mode from
FDR to Rose, and introduce new instructions CHECK_LONG_LIT and
CHECK_LONG_LIT_NOCASE for doing literal confirm for long literals.

This simplifies FDR confirm, and guarantees that HWLM matchers will only
be used for literals < 256 bytes long.
2016-10-28 14:52:26 +11:00
Justin Viiret
9346a9090e fdr: remove groups from struct FDR_Runtime_Args 2016-08-10 14:55:52 +10:00
Justin Viiret
85f049edb2 fdr: remove extra control ptr 2016-08-10 14:55:51 +10:00
Matthew Barr
e3d416a6ea Apply some consistency to the names we give shifts 2016-07-08 11:07:50 +10:00
Matthew Barr
4d6934fc77 Move limex specific shuffle utils and ssse3 funcs 2016-07-08 11:07:50 +10:00
Justin Viiret
95f35aad0e fdr: ensure 16 bytes of pre-history in block mode 2016-05-18 16:28:27 +10:00
Mohammad Abdul Awal
ed772380c0 teddy: remove python codegen, refactor code
Major cleanup of the Teddy runtime code. Removes python code generation,
splits AVX2 models into their own file, improves readability.
2016-05-18 16:28:11 +10:00
Justin Viiret
1a373d0619 fdr: confVal load can be unaligned 2016-05-18 16:25:35 +10:00
Mohammad Abdul Awal
598f0565cf fdr: Remove python codegen, add safezones 2016-05-18 16:22:52 +10:00
Mohammad Abdul Awal
313822c157 FDR runtime simplification
Removed static specialisation of domains.
2015-11-20 14:44:43 +11:00
Matthew Barr
904e436f11 Initial commit of Hyperscan 2015-10-20 09:13:35 +11:00