aboutsummaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2025-08-23 15:16:04 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2025-08-27 11:44:07 +0200
commit03b645f22bfc7afadc5a8aa6d59edf0eba74a048 (patch)
treedda64286a408e104879be2544f9c7dc8aa8e333a /main.c
parent6836db9b00d4f13a78a53cc5bdb0b63028188b55 (diff)
cleanup & json string simd parsing
Diffstat (limited to 'main.c')
-rw-r--r--main.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/main.c b/main.c
index 5f40b38..5b18022 100644
--- a/main.c
+++ b/main.c
@@ -1,10 +1,10 @@
-#include <assert.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <time.h>
+#include "include/assert.h"
#include "include/json.h"
#include "include/memory.h"
#include "include/types.h"
@@ -72,7 +72,7 @@ void run_benchmark(const char *filename, i32 iterations) {
Arena_reset(&arena);
size used = Arena_get_used(arena);
double start_time = get_time_ns();
- JSON result = JSON_parse(&arena, content);
+ JSON result = JSON_parse(&arena, content, file_size);
double end_time = get_time_ns();
timings[i] = end_time - start_time;
@@ -107,19 +107,15 @@ void run_benchmark(const char *filename, i32 iterations) {
}
i32 main(i32 argc, char *argv[]) {
- const char *filename = "out.json";
- i32 iterations = 1;
+ const char *filename = "";
// Parse command line arguments
- if (argc >= 2) {
- filename = argv[1];
- }
- if (argc >= 3) {
- iterations = atoi(argv[2]);
- if (iterations <= 0) {
- fprintf(stderr, "Error: Invalid number of iterations\n");
- return 1;
- }
+ assert(argc == 3, "main <file.json> <iterations>");
+ filename = argv[1];
+ i32 iterations = atoi(argv[2]);
+ if (iterations <= 0) {
+ fprintf(stderr, "Error: Invalid number of iterations\n");
+ return 1;
}
printf("JSON Parser Benchmark\n");