@stackmemoryai/stackmemory
Version:
Project-scoped memory for AI coding tools. Durable context across sessions with MCP integration, frames, smart retrieval, Claude Code skills, and automatic hooks.
49 lines (48 loc) • 1.66 kB
JavaScript
import { fileURLToPath as __fileURLToPath } from 'url';
import { dirname as __pathDirname } from 'path';
const __filename = __fileURLToPath(import.meta.url);
const __dirname = __pathDirname(__filename);
import Database from "better-sqlite3";
import { join } from "path";
import { existsSync } from "fs";
import { PerformanceBenchmark } from "../src/core/performance/performance-benchmark.js";
import { logger } from "../src/core/monitoring/logger.js";
async function runBenchmarks() {
const projectRoot = process.cwd();
const dbPath = join(projectRoot, ".stackmemory", "context.db");
if (!existsSync(dbPath)) {
console.error(
'\u274C StackMemory not initialized. Run "stackmemory init" first.'
);
process.exit(1);
}
const db = new Database(dbPath, { readonly: false });
const projectId = "benchmark-test";
console.log("\u{1F680} Starting Performance Benchmarks...\n");
const benchmark = new PerformanceBenchmark();
try {
const suite = await benchmark.runFullSuite(projectRoot, db, projectId);
console.log("\n\u2705 Benchmarks completed successfully!");
if (suite.averageImprovement > 0) {
console.log(
`
\u{1F389} Overall performance improved by ${suite.averageImprovement.toFixed(1)}%`
);
}
process.exit(0);
} catch (error) {
console.error("\n\u274C Benchmark failed:", error);
logger.error("Benchmark error", error);
process.exit(1);
} finally {
db.close();
}
}
if (import.meta.url === `file://${process.argv[1]}`) {
runBenchmarks().catch(console.error);
}
export {
runBenchmarks
};
//# sourceMappingURL=benchmark-performance.js.map