Home / File/ wrapper_bench.js — svelte Source File

wrapper_bench.js — svelte Source File

Architecture documentation for wrapper_bench.js, a javascript file in the svelte codebase. 6 imports, 1 dependents.

File javascript ReactivityBenchmarks Sbench 6 imports 1 dependents 4 functions

Entity Profile

Dependency Diagram

graph LR
  e992ebb3_c79a_9dda_1e0f_dbe8aa9e3cb5["wrapper_bench.js"]
  323d279d_1144_2999_b739_63c889964c8c["utils.js"]
  e992ebb3_c79a_9dda_1e0f_dbe8aa9e3cb5 --> 323d279d_1144_2999_b739_63c889964c8c
  14a67f99_e05c_69e9_870b_0375773b3df7["fastest_test"]
  e992ebb3_c79a_9dda_1e0f_dbe8aa9e3cb5 --> 14a67f99_e05c_69e9_870b_0375773b3df7
  f596e027_a951_36c9_7695_83acc4f0d6b9["node:fs"]
  e992ebb3_c79a_9dda_1e0f_dbe8aa9e3cb5 --> f596e027_a951_36c9_7695_83acc4f0d6b9
  f8929fbd_6327_2bb8_f43b_31a3db2e4d74["node:path"]
  e992ebb3_c79a_9dda_1e0f_dbe8aa9e3cb5 --> f8929fbd_6327_2bb8_f43b_31a3db2e4d74
  19c4395f_f4bb_853e_9c49_a71d8228542e["server"]
  e992ebb3_c79a_9dda_1e0f_dbe8aa9e3cb5 --> 19c4395f_f4bb_853e_9c49_a71d8228542e
  a8d49317_f479_a216_78e7_48c9e32499d5["compiler"]
  e992ebb3_c79a_9dda_1e0f_dbe8aa9e3cb5 --> a8d49317_f479_a216_78e7_48c9e32499d5
  116006f2_8fe2_f720_f19f_6006895ac4b5["index.js"]
  116006f2_8fe2_f720_f19f_6006895ac4b5 --> e992ebb3_c79a_9dda_1e0f_dbe8aa9e3cb5
  style e992ebb3_c79a_9dda_1e0f_dbe8aa9e3cb5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import * as fs from 'node:fs';
import * as path from 'node:path';
import { render } from 'svelte/server';
import { fastest_test } from '../../../utils.js';
import { compile } from 'svelte/compiler';

const dir = `${process.cwd()}/benchmarking/benchmarks/ssr/wrapper`;

async function compile_svelte() {
	const output = compile(read(`${dir}/App.svelte`), {
		generate: 'server'
	});

	write(`${dir}/output/App.js`, output.js.code);

	const module = await import(`${dir}/output/App.js`);

	return module.default;
}

export const wrapper_bench = {
	label: 'wrapper_bench',
	fn: async () => {
		const App = await compile_svelte();

		// Do 3 loops to warm up JIT
		for (let i = 0; i < 3; i++) {
			render(App);
		}

		return await fastest_test(10, () => {
			for (let i = 0; i < 100; i++) {
				render(App);
			}
		});
	}
};

/**
 * @param {string} file
 */
function read(file) {
	return fs.readFileSync(file, 'utf-8').replace(/\r\n/g, '\n');
}

/**
 * @param {string} file
 * @param {string} contents
 */
function write(file, contents) {
	try {
		fs.mkdirSync(path.dirname(file), { recursive: true });
	} catch {}

	fs.writeFileSync(file, contents);
}

Subdomains

Dependencies

Frequently Asked Questions

What does wrapper_bench.js do?
wrapper_bench.js is a source file in the svelte codebase, written in javascript. It belongs to the ReactivityBenchmarks domain, Sbench subdomain.
What functions are defined in wrapper_bench.js?
wrapper_bench.js defines 4 function(s): compile_svelte, read, wrapper_bench.fn, write.
What does wrapper_bench.js depend on?
wrapper_bench.js imports 6 module(s): compiler, fastest_test, node:fs, node:path, server, utils.js.
What files import wrapper_bench.js?
wrapper_bench.js is imported by 1 file(s): index.js.
Where is wrapper_bench.js in the architecture?
wrapper_bench.js is located at benchmarking/benchmarks/ssr/wrapper/wrapper_bench.js (domain: ReactivityBenchmarks, subdomain: Sbench, directory: benchmarking/benchmarks/ssr/wrapper).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free