Home / File/ sbench.js — svelte Source File

sbench.js — svelte Source File

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

File javascript ReactivityBenchmarks Sbench 3 imports 1 dependents 12 functions

Entity Profile

Dependency Diagram

graph LR
  bd392727_0ab4_5b19_e7c2_5ac58cda3e66["sbench.js"]
  323d279d_1144_2999_b739_63c889964c8c["utils.js"]
  bd392727_0ab4_5b19_e7c2_5ac58cda3e66 --> 323d279d_1144_2999_b739_63c889964c8c
  14a67f99_e05c_69e9_870b_0375773b3df7["fastest_test"]
  bd392727_0ab4_5b19_e7c2_5ac58cda3e66 --> 14a67f99_e05c_69e9_870b_0375773b3df7
  a90e5ee7_62bf_5257_b6d7_6579a13ff90b["index.js"]
  bd392727_0ab4_5b19_e7c2_5ac58cda3e66 --> a90e5ee7_62bf_5257_b6d7_6579a13ff90b
  187451bc_81a4_a114_ed4e_87f1321c480e["index.js"]
  187451bc_81a4_a114_ed4e_87f1321c480e --> bd392727_0ab4_5b19_e7c2_5ac58cda3e66
  style bd392727_0ab4_5b19_e7c2_5ac58cda3e66 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/** @import { Source } from '../../../packages/svelte/src/internal/client/types.js' */
import { fastest_test } from '../../utils.js';
import * as $ from '../../../packages/svelte/src/internal/client/index.js';

const COUNT = 1e5;

/**
 * @param {number} n
 * @param {any[]} sources
 */
function create_sources(n, sources) {
	for (let i = 0; i < n; i++) {
		sources[i] = $.state(i);
	}

	return sources;
}

/**
 * @param {Source<number>} source
 */
function create_derived(source) {
	$.derived(() => $.get(source));
}

/**
 *
 * @param {string} label
 * @param {(n: number, sources: Array<Source<number>>) => void} fn
 * @param {number} count
 * @param {number} num_sources
 */
function create_sbench_test(label, count, num_sources, fn) {
	return {
		label,
		fn: async () => {
			// Do 3 loops to warm up JIT
			for (let i = 0; i < 3; i++) {
				fn(count, create_sources(num_sources, []));
			}

			return await fastest_test(10, () => {
				const destroy = $.effect_root(() => {
					for (let i = 0; i < 10; i++) {
						fn(count, create_sources(num_sources, []));
					}
				});
				destroy();
			});
		}
	};
}

export const sbench_create_signals = create_sbench_test(
	'sbench_create_signals',
	COUNT,
	COUNT,
	create_sources
);

// ... (125 more lines)

Subdomains

Frequently Asked Questions

What does sbench.js do?
sbench.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 sbench.js?
sbench.js defines 12 function(s): create_derived, create_sbench_test, create_sources, sbench_create_0to1, sbench_create_1000to1, sbench_create_1to1, sbench_create_1to1000, sbench_create_1to2, sbench_create_1to4, sbench_create_1to8, and 2 more.
What does sbench.js depend on?
sbench.js imports 3 module(s): fastest_test, index.js, utils.js.
What files import sbench.js?
sbench.js is imported by 1 file(s): index.js.
Where is sbench.js in the architecture?
sbench.js is located at benchmarking/benchmarks/reactivity/sbench.js (domain: ReactivityBenchmarks, subdomain: Sbench, directory: benchmarking/benchmarks/reactivity).

Analyze Your Own Codebase

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

Try Supermodel Free