From 5babc34721e5f587ecae5bd4432fd57bf8c401fe Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Wed, 8 Apr 2026 12:54:28 +0200 Subject: Replace Makefile with mise.toml Co-Authored-By: Claude Sonnet 4.6 --- Makefile | 30 ------------------------------ generate_json.py | 6 +++--- mise.toml | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 33 deletions(-) delete mode 100644 Makefile create mode 100644 mise.toml diff --git a/Makefile b/Makefile deleted file mode 100644 index df7d850..0000000 --- a/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -debug: - mkdir -p Debug - cmake -DCMAKE_BUILD_TYPE=Debug -B Debug - cmake --build Debug - -release: - mkdir -p Release - cmake -DCMAKE_BUILD_TYPE=Release -B Release - cmake --build Release - -profile: - mkdir -p Profile - cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -B Profile - cmake --build Profile - valgrind --tool=callgrind --dump-instr=yes --callgrind-out-file=callgrind.out ./Profile/main 100MB.json 1 - kcachegrind callgrind.out - -test: - fish generate.fish - make debug - ./Debug/test - -format: - clang-format -i src/*.c include/*.h tests/*.c *.c - -check: - clang-format -i --dry-run src/*.c include/*.h tests/*.c *.c --fail-on-incomplete-format - ruff check - ruff format --check - make test diff --git a/generate_json.py b/generate_json.py index 2f0a9d5..90330ac 100644 --- a/generate_json.py +++ b/generate_json.py @@ -185,6 +185,7 @@ def generate_large_json(target_size_mb: int, output_file: str): print(f" Page views: {len(data['analytics']['page_views']):,}") print(f" Server metrics: {len(data['analytics']['server_metrics']):,}") + def generate_descriptive(target_size_mb: int, output_file: str): target_size_bytes = target_size_mb * 1024 * 1024 data = [] @@ -205,9 +206,7 @@ def generate_descriptive(target_size_mb: int, output_file: str): # Estimate current size (approximate: 40+400 chars per object + overhead) current_size = len(data) * (40 + 400 + 30) - if ( - current_size % (10 * 1024 * 1024) < batch_size * (40 + 400) - ): + if current_size % (10 * 1024 * 1024) < batch_size * (40 + 400): print(f"Generated approximately {current_size / (1024 * 1024):.1f}MB...") print(f"Writing to {output_file}...") @@ -222,6 +221,7 @@ def generate_descriptive(target_size_mb: int, output_file: str): print(f" Actual size: {actual_size_mb:.1f}MB ({actual_size:,} bytes)") print(f" Objects: {len(data):,}") + def main(): assert len(sys.argv) == 2 try: diff --git a/mise.toml b/mise.toml new file mode 100644 index 0000000..af14e2b --- /dev/null +++ b/mise.toml @@ -0,0 +1,44 @@ +[tasks.generate] +run = "fish generate.fish" + +[tasks.debug] +depends = ["generate"] +run = [ + "mkdir -p Debug", + "cmake -DCMAKE_BUILD_TYPE=Debug -B Debug", + "cmake --build Debug" +] + +[tasks.release] +depends = ["generate"] +run = [ + "mkdir -p Release", + "cmake -DCMAKE_BUILD_TYPE=Release -B Release", + "cmake --build Release" +] + +[tasks.profile] +depends = ["generate"] +run = [ + "mkdir -p Profile", + "cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -B Profile", + "cmake --build Profile", + "valgrind --tool=callgrind --dump-instr=yes --callgrind-out-file=callgrind.out ./Profile/main 100MB.json 1", + "kcachegrind callgrind.out" +] + +[tasks.test] +depends = ["debug"] +run = "./Debug/test" + +[tasks.format] +run = "clang-format -i src/*.c include/*.h tests/*.c *.c" + +[tasks.check] +depends = ["debug"] +run = [ + "clang-format --dry-run src/*.c include/*.h tests/*.c *.c --fail-on-incomplete-format", + "ruff check", + "ruff format --check", + "mise run test" +] -- cgit v1.3