MCPcopy Create free account
hub / github.com/avoidwork/tenso / benchmarkRendererComparison

Function benchmarkRendererComparison

benchmarks/renderers.js:261–313  ·  view source on GitHub ↗

* Comparative renderer benchmarks

()

Source from the content-addressed store, hash-verified

259 * Comparative renderer benchmarks
260 */
261function benchmarkRendererComparison () {
262 console.log("\n📊 Renderer Comparison (Medium datasets)");
263 console.log("-".repeat(40));
264
265 const suite = new Benchmark.Suite();
266
267 // Get all renderers
268 const jsonRenderer = renderers.get("application/json");
269 const xmlRenderer = renderers.get("application/xml");
270 const csvRenderer = renderers.get("text/csv");
271 const yamlRenderer = renderers.get("application/yaml");
272 const plainRenderer = renderers.get("text/plain");
273
274 // Create appropriate mock objects for each renderer
275 const jsonMock = createMockReqRes("application/json");
276 const xmlMock = createMockReqRes("application/xml");
277 const csvMock = createMockReqRes("text/csv");
278 const yamlMock = createMockReqRes("application/yaml");
279 const plainMock = createMockReqRes("text/plain");
280
281 // Use appropriate data for CSV (flattened)
282 const csvData = testData.medium.users.map(user => ({
283 id: user.id,
284 name: user.name,
285 email: user.email,
286 active: user.active
287 }));
288
289 suite
290 .add("JSON Renderer (medium)", () => {
291 jsonRenderer(jsonMock.req, jsonMock.res, testData.medium);
292 })
293 .add("XML Renderer (medium)", () => {
294 xmlRenderer(xmlMock.req, xmlMock.res, testData.medium);
295 })
296 .add("CSV Renderer (medium)", () => {
297 csvRenderer(csvMock.req, csvMock.res, csvData);
298 })
299 .add("YAML Renderer (medium)", () => {
300 yamlRenderer(yamlMock.req, yamlMock.res, testData.medium);
301 })
302 .add("Plain Renderer (medium)", () => {
303 plainRenderer(plainMock.req, plainMock.res, testData.medium);
304 })
305 .on("cycle", event => {
306 console.log(` ${String(event.target)}`);
307 })
308 .on("complete", function () {
309 console.log(` Fastest: ${this.filter("fastest").map("name")}`);
310 console.log(` Slowest: ${this.filter("slowest").map("name")}`);
311 })
312 .run();
313}
314
315/**
316 * Memory usage test for renderers

Callers 1

mainFunction · 0.85

Calls 2

createMockReqResFunction · 0.85
logMethod · 0.80

Tested by

no test coverage detected