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

repeated_deps.bench.js — svelte Source File

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

File javascript 2 imports

Entity Profile

Dependency Diagram

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

Relationship Graph

Source Code

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

const ARRAY_SIZE = 1000;

export default () => {
	const signals = Array.from({ length: ARRAY_SIZE }, (_, i) => $.state(i));
	const order = $.state(0);

	// break skipped_deps fast path by changing order of reads
	const total = $.derived(() => {
		const ord = $.get(order);
		let sum = 0;
		for (let i = 0; i < ARRAY_SIZE; i++) {
			sum += /** @type {number} */ ($.get(signals[(i + ord) % ARRAY_SIZE]));
		}
		return sum;
	});

	const destroy = $.effect_root(() => {
		$.render_effect(() => {
			$.get(total);
		});
	});

	return {
		destroy,
		run() {
			for (let i = 0; i < 5; i++) {
				$.flush(() => $.set(order, i));
				assert.equal($.get(total), (ARRAY_SIZE * (ARRAY_SIZE - 1)) / 2); // sum of 0..999
			}
		}
	};
};

Dependencies

  • client
  • node:assert

Frequently Asked Questions

What does repeated_deps.bench.js do?
repeated_deps.bench.js is a source file in the svelte codebase, written in javascript.
What does repeated_deps.bench.js depend on?
repeated_deps.bench.js imports 2 module(s): client, node:assert.
Where is repeated_deps.bench.js in the architecture?
repeated_deps.bench.js is located at benchmarking/benchmarks/reactivity/tests/repeated_deps.bench.js (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