Skip to content

Commit e9f3e6b

Browse files
committed
workflow: bench against bundled dist file to avoid import access overhead
ref vitest-dev/vitest#6903
1 parent 3656364 commit e9f3e6b

File tree

9 files changed

+29
-8
lines changed

9 files changed

+29
-8
lines changed

package.json

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
"test-dts": "run-s build-dts test-dts-only",
2323
"test-dts-only": "tsc -p packages-private/dts-built-test/tsconfig.json && tsc -p ./packages-private/dts-test/tsconfig.test.json",
2424
"test-coverage": "vitest run --project unit --coverage",
25+
"prebench": "node scripts/build.js -pf esm-browser reactivity",
26+
"prebench-compare": "node scripts/build.js -pf esm-browser reactivity",
2527
"bench": "vitest bench --project=unit --outputJson=temp/bench.json",
2628
"bench-compare": "vitest bench --project=unit --compare=temp/bench.json",
2729
"release": "node scripts/release.js",

packages/reactivity/__benchmarks__/computed.bench.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
import { bench, describe } from 'vitest'
2-
import { type ComputedRef, type Ref, computed, effect, ref } from '../src'
2+
import type { ComputedRef, Ref } from '../src'
3+
import { computed, effect, ref } from '../dist/reactivity.esm-browser.prod'
4+
5+
declare module '../dist/reactivity.esm-browser.prod' {
6+
function computed(...args: any[]): any
7+
}
38

49
describe('computed', () => {
510
bench('create computed', () => {

packages/reactivity/__benchmarks__/effect.bench.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { bench, describe } from 'vitest'
2-
import { type Ref, effect, ref } from '../src'
2+
import type { Ref } from '../src'
3+
import { effect, ref } from '../dist/reactivity.esm-browser.prod'
34

45
describe('effect', () => {
56
{

packages/reactivity/__benchmarks__/reactiveArray.bench.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import { bench } from 'vitest'
2-
import { effect, reactive, shallowReadArray } from '../src'
2+
import {
3+
effect,
4+
reactive,
5+
shallowReadArray,
6+
} from '../dist/reactivity.esm-browser.prod'
37

48
for (let amount = 1e1; amount < 1e4; amount *= 10) {
59
{

packages/reactivity/__benchmarks__/reactiveMap.bench.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { bench } from 'vitest'
2-
import { type ComputedRef, computed, reactive } from '../src'
2+
import type { ComputedRef } from '../src'
3+
import { computed, reactive } from '../dist/reactivity.esm-browser.prod'
34

45
function createMap(obj: Record<string, any>) {
56
const map = new Map()

packages/reactivity/__benchmarks__/reactiveObject.bench.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { bench } from 'vitest'
2-
import { reactive } from '../src'
2+
import { reactive } from '../dist/reactivity.esm-browser.prod'
33

44
bench('create reactive obj', () => {
55
reactive({ a: 1 })

packages/reactivity/__benchmarks__/ref.bench.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { bench, describe } from 'vitest'
2-
import { ref } from '../src/index'
2+
import { ref } from '../dist/reactivity.esm-browser.prod'
33

44
describe('ref', () => {
55
bench('create ref', () => {

packages/server-renderer/__tests__/createBuffer.bench.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import { bench, describe } from 'vitest'
22

3-
import { createBuffer } from '../src/render'
3+
import { createBuffer as _createBuffer } from '../src/render'
4+
5+
// move to local const to avoid import access overhead
6+
// https://github.com/vitest-dev/vitest/issues/6903
7+
const createBuffer = _createBuffer
48

59
describe('createBuffer', () => {
610
let stringBuffer = createBuffer()

packages/server-renderer/__tests__/unrollBuffer.bench.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
import { bench, describe } from 'vitest'
22

33
import { type SSRBuffer, createBuffer } from '../src/render'
4-
import { unrollBuffer } from '../src/renderToString'
4+
import { unrollBuffer as _unrollBuffer } from '../src/renderToString'
5+
6+
// move to local const to avoid import access overhead
7+
// https://github.com/vitest-dev/vitest/issues/6903
8+
const unrollBuffer = _unrollBuffer
59

610
function createSyncBuffer(levels: number, itemsPerLevel: number): SSRBuffer {
711
const buffer = createBuffer()

0 commit comments

Comments
 (0)