Home / File/ mol.bench.js — svelte Source File

mol.bench.js — svelte Source File

Architecture documentation for mol.bench.js, a javascript file in the svelte codebase. 2 imports, 0 dependents.

File javascript ReactivityBenchmarks Sbench 2 imports 3 functions

Entity Profile

Dependency Diagram

graph LR
  569e0aad_ad7d_e7b4_e29b_710d73452387["mol.bench.js"]
  d3dc1520_5a13_e6ad_9208_466ecffe2410["node:assert"]
  569e0aad_ad7d_e7b4_e29b_710d73452387 --> d3dc1520_5a13_e6ad_9208_466ecffe2410
  1a59b12b_63d5_2eb4_1881_6fb96dbdcb56["client"]
  569e0aad_ad7d_e7b4_e29b_710d73452387 --> 1a59b12b_63d5_2eb4_1881_6fb96dbdcb56
  style 569e0aad_ad7d_e7b4_e29b_710d73452387 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import assert from 'node:assert';
import * as $ from 'svelte/internal/client';

/**
 * @param {number} n
 */
function fib(n) {
	if (n < 2) return 1;
	return fib(n - 1) + fib(n - 2);
}

/**
 * @param {number} n
 */
function hard(n) {
	return n + fib(16);
}

const numbers = Array.from({ length: 5 }, (_, i) => i);

export default () => {
	let res = [];
	const A = $.state(0);
	const B = $.state(0);
	const C = $.derived(() => ($.get(A) % 2) + ($.get(B) % 2));
	const D = $.derived(() => numbers.map((i) => i + ($.get(A) % 2) - ($.get(B) % 2)));
	D.equals = function (/** @type {number[]} */ l) {
		var r = this.v;
		return r !== null && l.length === r.length && l.every((v, i) => v === r[i]);
	};
	const E = $.derived(() => hard($.get(C) + $.get(A) + $.get(D)[0]));
	const F = $.derived(() => hard($.get(D)[0] && $.get(B)));
	const G = $.derived(() => $.get(C) + ($.get(C) || $.get(E) % 2) + $.get(D)[0] + $.get(F));

	const destroy = $.effect_root(() => {
		$.render_effect(() => {
			res.push(hard($.get(G)));
		});
		$.render_effect(() => {
			res.push($.get(G));
		});
		$.render_effect(() => {
			res.push(hard($.get(F)));
		});
	});

	return {
		destroy,
		/**
		 * @param {number} i
		 */
		run(i) {
			res.length = 0;
			$.flush(() => {
				$.set(B, 1);
				$.set(A, 1 + i * 2);
			});
			$.flush(() => {
				$.set(A, 2 + i * 2);
				$.set(B, 2);
			});
			assert.equal(res[0], 3198);
			assert.equal(res[1], 1601);
			assert.equal(res[2], 3195);
			assert.equal(res[3], 1598);
		}
	};
};

Subdomains

Dependencies

  • client
  • node:assert

Frequently Asked Questions

What does mol.bench.js do?
mol.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 mol.bench.js?
mol.bench.js defines 3 function(s): fib, hard, numbers.
What does mol.bench.js depend on?
mol.bench.js imports 2 module(s): client, node:assert.
Where is mol.bench.js in the architecture?
mol.bench.js is located at benchmarking/benchmarks/reactivity/tests/mol.bench.js (domain: ReactivityBenchmarks, subdomain: Sbench, directory: benchmarking/benchmarks/reactivity/tests).

Analyze Your Own Codebase

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

Try Supermodel Free