import numpy as np import pytest from semantica.visualization.embedding_visualizer import EmbeddingVisualizer @pytest.mark.benchmark(group="embedding_projection") @pytest.mark.parametrize("method", ["pca", "tsne"]) @pytest.mark.parametrize("n_samples", [500]) def test_projection_calculation_overhead( benchmark, generate_embeddings, method, n_samples ): """ Measures the combined cost of: 1. Dimensionality Reduction (Math) 2. Plotly Trace Construction (Object creation) """ viz = EmbeddingVisualizer() embeddings = generate_embeddings(n_samples=n_samples, n_features=128) labels = [f"Label {i}" for i in range(n_samples)] def run(): return viz.visualize_2d_projection( embeddings, labels=labels, method=method, output="interactive" ) rounds = 5 if method == "tsne" else 10 benchmark.pedantic(run, iterations=1, rounds=rounds) @pytest.mark.benchmark(group="embedding_heatmap") def test_similarity_heatmap_generation(benchmark, generate_embeddings): """ Benchmarks O(N^2) similarity matrix calculation and heatmap renderin. """ viz = EmbeddingVisualizer() embeddings = generate_embeddings(n_samples=500, n_features=64) def run(): return viz.visualize_similarity_heatmap(embeddings, output="interactive") benchmark.pedantic(run, iterations=1, rounds=5)