@@ -414,6 +414,7 @@ buildEngineHyperscan(const ExpressionMap &expressions, ScanMode scan_mode,
414414 hs_compile_error_t *compile_err;
415415 Timer timer;
416416
417+ #ifndef RELEASE_BUILD
417418 if (useLiteralApi) {
418419 // Pattern length computation should be done before timer start.
419420 vector<size_t > lens (count);
@@ -434,6 +435,26 @@ buildEngineHyperscan(const ExpressionMap &expressions, ScanMode scan_mode,
434435 grey);
435436 timer.complete ();
436437 }
438+ #else
439+ if (useLiteralApi) {
440+ // Pattern length computation should be done before timer start.
441+ vector<size_t > lens (count);
442+ for (unsigned int i = 0 ; i < count; i++) {
443+ lens[i] = strlen (patterns[i]);
444+ }
445+ timer.start ();
446+ err = hs_compile_lit_multi (patterns.data (), flags.data (),
447+ ids.data (), lens.data (), count,
448+ full_mode, nullptr , &db, &compile_err);
449+ timer.complete ();
450+ } else {
451+ timer.start ();
452+ err = hs_compile_ext_multi (patterns.data (), flags.data (),
453+ ids.data (), ext_ptr.data (), count,
454+ full_mode, nullptr , &db, &compile_err);
455+ timer.complete ();
456+ }
457+ #endif
437458
438459 compileSecs = timer.seconds ();
439460 peakMemorySize = getPeakHeap ();
0 commit comments