finalized benchmark

This commit is contained in:
Bastian Venthur
2025-01-22 15:17:28 +01:00
parent 69b729a471
commit 60bd86ec22
2 changed files with 14 additions and 8 deletions

View File

@@ -67,7 +67,7 @@ manpage: $(VENV)
.PHONY: benchmark .PHONY: benchmark
benchmark: $(VENV) benchmark: $(VENV)
$(BIN)/pytest --no-cov -s -rP tests/benchmark.py $(BIN)/pytest --no-cov -capture=no -rA tests/benchmark.py
.PHONY: clean .PHONY: clean
clean: clean:

View File

@@ -1,15 +1,24 @@
"""Benchmark the performance of the blag build command."""
import logging
import os import os
from argparse import Namespace
from pytest import LogCaptureFixture
import blag import blag
from blag.blag import build from blag.blag import build
def test_performance(args) -> None: def test_performance(args: Namespace, caplog: LogCaptureFixture) -> None:
FILES = 1000 """Test performance of the build command."""
print(f"Generating {FILES} files") caplog.set_level(logging.ERROR)
FILES = 10000
print(f"Generating {FILES} markdown files")
# create random markdown files in the content directory # create random markdown files in the content directory
with open(os.path.join(blag.__path__[0], "content", "testpage.md")) as fh: with open(os.path.join(blag.__path__[0], "content", "testpage.md")) as fh:
markdown = fh.read() markdown = fh.read()
for i in range(FILES): for i in range(FILES):
with open(f"content/{i}.md", "w") as f: with open(f"content/{i}.md", "w") as f:
f.write(markdown) f.write(markdown)
@@ -20,12 +29,9 @@ def test_performance(args) -> None:
t = time() t = time()
build(args) build(args)
t_first = time() - t t_first = time() - t
print(t_first)
t = time() t = time()
build(args) build(args)
t_second = time() - t t_second = time() - t
print(t_second)
print(f"First run: {t_first:.2f}s, second run: {t_second:.2f}s") print(f"First run: {t_first:.2f}s, second run: {t_second:.2f}s")
print(f"Speedup: {t_first/t_second:.2f}") print(f"Speedup: {t_first/t_second:.2f}")