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

Function testSerializerMemoryUsage

benchmarks/serializers.js:283–319  ·  view source on GitHub ↗

* Tests serializer memory usage

()

Source from the content-addressed store, hash-verified

281 * Tests serializer memory usage
282 */
283function testSerializerMemoryUsage () {
284 console.log("📊 Serializer Memory Usage");
285 console.log("-".repeat(40));
286
287 const customSerializer = serializers.get("application/json");
288 const plainSerializer = serializers.get("text/plain");
289
290 function measureMemory (name, serializer, iterations = 1000) {
291 if (global.gc) {
292 global.gc();
293 }
294 const before = process.memoryUsage().heapUsed;
295
296 for (let i = 0; i < iterations; i++) {
297 serializer(testData.medium, null, 200);
298 }
299
300 if (global.gc) {
301 global.gc();
302 }
303 const after = process.memoryUsage().heapUsed;
304 const diff = after - before;
305
306 console.log(`${name} (${iterations} iterations):`);
307 console.log(` Heap Used: ${diff >= 0 ? "+" : ""}${formatFilesize(diff)}`);
308 }
309
310 measureMemory("Custom Serializer", customSerializer);
311 measureMemory("Plain Serializer", plainSerializer);
312
313 // Error serialization memory test
314 measureMemory("Custom Error Serialization", (data, err, status) => { // eslint-disable-line no-unused-vars
315 return customSerializer(null, testErrors.complex, 500, false);
316 });
317
318 console.log("");
319}
320
321/**
322 * Benchmarks status code handling

Callers 1

mainFunction · 0.85

Calls 2

measureMemoryFunction · 0.85
logMethod · 0.80

Tested by

no test coverage detected