avg_bw /= max_matches;
total_sec /= 1000000.0;
/*convert average time to us*/
- /* Keeping the color output
- printf(KMAG "%s: %u matches, %u * %u iterations," KBLU
- " total elapsed time =" RST " %.3f s, " KBLU
- "average time per call =" RST " %.3f μs," KBLU
- " max bandwidth = " RST " %.3f MB/s," KBLU
- " average bandwidth =" RST " %.3f MB/s \n",
- bench.label, max_matches, size, loops, total_sec, avg_time,
- max_bw, avg_bw);
- */
printf("%s,%u,%u,%u,%.3f,%.3f,%.3f,%.3f\n", bench.label, max_matches,
size, loops, total_sec, avg_time, max_bw, avg_bw);
} else {
max_bw = total_size / total_sec;
/*convert to MB/s*/
max_bw /= 1048576.0;
- /*Keeping the color output
- printf(KMAG "%s: no matches, %u * %u iterations," KBLU " total elapsed
- time =" RST " %.3f s, " KBLU "average time per call =" RST " %.3f μs ,"
- KBLU " bandwidth = " RST " %.3f MB/s \n", bench.label, size ,loops,
- total_sec, avg_time, max_bw );
- */
printf("%s,0,%u,%u,%.3f,%.3f,%.3f,0\n", bench.label, size, loops,
total_sec, avg_time, max_bw);
}
* POSSIBILITY OF SUCH DAMAGE.
*/
+#include "hwlm/hwlm_literal.h"
+#include "hwlm/noodle_build.h"
+#include "hwlm/noodle_engine.h"
+#include "hwlm/noodle_internal.h"
#include "nfa/shufti.h"
#include "nfa/shufticompile.h"
#include "nfa/truffle.h"
#include "nfa/trufflecompile.h"
#include "nfa/vermicelli.hpp"
-#include "hwlm/noodle_build.h"
-#include "hwlm/noodle_engine.h"
-#include "hwlm/noodle_internal.h"
-#include "hwlm/hwlm_literal.h"
-#include "util/bytecode_ptr.h"
#include "scratch.h"
+#include "util/bytecode_ptr.h"
-/*define colour control characters*/
-#define RST "\x1B[0m"
-#define KRED "\x1B[31m"
-#define KGRN "\x1B[32m"
-#define KYEL "\x1B[33m"
-#define KBLU "\x1B[34m"
-#define KMAG "\x1B[35m"
-#define KCYN "\x1B[36m"
-#define KWHT "\x1B[37m"
-
-class MicroBenchmark
-{
+class MicroBenchmark {
public:
- char const *label;
- size_t size;
+ char const *label;
+ size_t size;
- // Shufti/Truffle
- m128 lo, hi;
- ue2::CharReach chars;
- std::vector<u8> buf;
+ // Shufti/Truffle
+ m128 lo, hi;
+ ue2::CharReach chars;
+ std::vector<u8> buf;
- // Noodle
- struct hs_scratch scratch;
- ue2::bytecode_ptr<noodTable> nt;
+ // Noodle
+ struct hs_scratch scratch;
+ ue2::bytecode_ptr<noodTable> nt;
- MicroBenchmark(char const *label_, size_t size_)
- :label(label_), size(size_), buf(size_) {
- };
+ MicroBenchmark(char const *label_, size_t size_)
+ : label(label_), size(size_), buf(size_){};
};