Skip to content

Commit fca04a8

Browse files
committed
Merge branch 'master' of https://github.com/lukechu10/js-framework-benchmark into lukechu10-master
2 parents d52fcb1 + 96fa4de commit fca04a8

File tree

5 files changed

+141
-130
lines changed

5 files changed

+141
-130
lines changed

frameworks/keyed/sycamore/Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ version = "1.0.0"
88
crate-type = ["cdylib"]
99

1010
[dependencies]
11-
getrandom = {version = "0.2.7", features = ["js"]}
12-
rand = {version = "0.8.5", features = ["small_rng"]}
13-
sycamore = "0.7.1"
14-
wasm-bindgen = "0.2.81"
15-
web-sys = {version = "0.3.58", features = ["Window", "Document"]}
11+
getrandom = { version = "0.2.7", features = ["js"] }
12+
rand = { version = "0.8.5", features = ["small_rng"] }
13+
sycamore = "0.8.0"
14+
wasm-bindgen = "0.2.82"
15+
web-sys = { version = "0.3.59", features = ["Window", "Document"] }
1616

1717
[profile.release]
1818
codegen-units = 1

frameworks/keyed/sycamore/bundled-dist/js-framework-benchmark-sycamore.js

Lines changed: 78 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@ function debugString(val) {
9797

9898
let WASM_VECTOR_LEN = 0;
9999

100-
let cachedUint8Memory0;
100+
let cachedUint8Memory0 = new Uint8Array();
101+
101102
function getUint8Memory0() {
102103
if (cachedUint8Memory0.byteLength === 0) {
103104
cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);
@@ -158,7 +159,8 @@ function passStringToWasm0(arg, malloc, realloc) {
158159
return ptr;
159160
}
160161

161-
let cachedInt32Memory0;
162+
let cachedInt32Memory0 = new Int32Array();
163+
162164
function getInt32Memory0() {
163165
if (cachedInt32Memory0.byteLength === 0) {
164166
cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);
@@ -174,20 +176,23 @@ function getStringFromWasm0(ptr, len) {
174176
return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
175177
}
176178

177-
function makeClosure(arg0, arg1, dtor, f) {
179+
function makeMutClosure(arg0, arg1, dtor, f) {
178180
const state = { a: arg0, b: arg1, cnt: 1, dtor };
179181
const real = (...args) => {
180182
// First up with a closure we increment the internal reference
181183
// count. This ensures that the Rust closure environment won't
182184
// be deallocated while we're invoking it.
183185
state.cnt++;
186+
const a = state.a;
187+
state.a = 0;
184188
try {
185-
return f(state.a, state.b, ...args);
189+
return f(a, state.b, ...args);
186190
} finally {
187191
if (--state.cnt === 0) {
188-
wasm.__wbindgen_export_2.get(state.dtor)(state.a, state.b);
189-
state.a = 0;
192+
wasm.__wbindgen_export_2.get(state.dtor)(a, state.b);
190193

194+
} else {
195+
state.a = a;
191196
}
192197
}
193198
};
@@ -196,7 +201,7 @@ function makeClosure(arg0, arg1, dtor, f) {
196201
return real;
197202
}
198203
function __wbg_adapter_22(arg0, arg1, arg2) {
199-
wasm._dyn_core__ops__function__Fn__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h975f4f36aeac6de1(arg0, arg1, addHeapObject(arg2));
204+
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h85fe9cf0ca511781(arg0, arg1, addHeapObject(arg2));
200205
}
201206

202207
/**
@@ -267,107 +272,125 @@ function getImports() {
267272
const ret = getObject(arg0);
268273
return addHeapObject(ret);
269274
};
270-
imports.wbg.__wbg_setclassName_7a10d229676db879 = function(arg0, arg1, arg2) {
271-
var v0 = getCachedStringFromWasm0(arg1, arg2);
272-
getObject(arg0).className = v0;
275+
imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
276+
takeObject(arg0);
273277
};
274-
imports.wbg.__wbg_createTextNode_cdbaccf3b941b486 = function(arg0, arg1, arg2) {
278+
imports.wbg.__wbg_createTextNode_2ab1e3ebc34e2641 = function(arg0, arg1, arg2) {
275279
var v0 = getCachedStringFromWasm0(arg1, arg2);
276280
const ret = getObject(arg0).createTextNode(v0);
277281
return addHeapObject(ret);
278282
};
279-
imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
280-
takeObject(arg0);
281-
};
282-
imports.wbg.__wbg_appendChild_e9d52952defb480f = function() { return handleError(function (arg0, arg1) {
283-
const ret = getObject(arg0).appendChild(getObject(arg1));
283+
imports.wbg.__wbg_createTextNode_7d3205af12708bed = function(arg0, arg1) {
284+
const ret = getObject(arg0).createTextNode(arg1);
284285
return addHeapObject(ret);
285-
}, arguments) };
286-
imports.wbg.__wbg_setAttribute_6091f6f3602fc299 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
287-
var v0 = getCachedStringFromWasm0(arg1, arg2);
288-
var v1 = getCachedStringFromWasm0(arg3, arg4);
289-
getObject(arg0).setAttribute(v0, v1);
290-
}, arguments) };
291-
imports.wbg.__wbg_insertBefore_8a88fe62c2fad6ca = function() { return handleError(function (arg0, arg1, arg2) {
286+
};
287+
imports.wbg.__wbg_insertBefore_26dfd5eb687a3438 = function() { return handleError(function (arg0, arg1, arg2) {
292288
const ret = getObject(arg0).insertBefore(getObject(arg1), getObject(arg2));
293289
return addHeapObject(ret);
294290
}, arguments) };
295-
imports.wbg.__wbg_parentNode_7ae124ff993d8176 = function(arg0) {
291+
imports.wbg.__wbg_parentNode_3b6e136ccacf1d02 = function(arg0) {
296292
const ret = getObject(arg0).parentNode;
297293
return isLikeNone(ret) ? 0 : addHeapObject(ret);
298294
};
299-
imports.wbg.__wbg_is_aafa609b540ad47f = function(arg0, arg1) {
295+
imports.wbg.__wbg_is_43eb2f9708e964a9 = function(arg0, arg1) {
300296
const ret = Object.is(getObject(arg0), getObject(arg1));
301297
return ret;
302298
};
303-
imports.wbg.__wbg_replaceChild_924b39b7304b0ecc = function() { return handleError(function (arg0, arg1, arg2) {
299+
imports.wbg.__wbg_replaceChild_d614efce0d76d959 = function() { return handleError(function (arg0, arg1, arg2) {
304300
const ret = getObject(arg0).replaceChild(getObject(arg1), getObject(arg2));
305301
return addHeapObject(ret);
306302
}, arguments) };
307-
imports.wbg.__wbg_settextContent_ce0ac980cbb8c820 = function(arg0, arg1, arg2) {
303+
imports.wbg.__wbg_settextContent_8db6b500abb6e3ae = function(arg0, arg1, arg2) {
308304
var v0 = getCachedStringFromWasm0(arg1, arg2);
309305
getObject(arg0).textContent = v0;
310306
};
311-
imports.wbg.__wbg_nextSibling_ac4bdeedd0f62a47 = function(arg0) {
307+
imports.wbg.__wbg_appendChild_d21bac021b5bbfde = function() { return handleError(function (arg0, arg1) {
308+
const ret = getObject(arg0).appendChild(getObject(arg1));
309+
return addHeapObject(ret);
310+
}, arguments) };
311+
imports.wbg.__wbg_nextSibling_42ec4dd7469413eb = function(arg0) {
312312
const ret = getObject(arg0).nextSibling;
313313
return isLikeNone(ret) ? 0 : addHeapObject(ret);
314314
};
315-
imports.wbg.__wbg_nodeId_87b6c4a3ca0e644b = function(arg0, arg1) {
315+
imports.wbg.__wbg_nodeId_e5cbb6da61e776ac = function(arg0, arg1) {
316316
const ret = getObject(arg1).$$$nodeId;
317317
getInt32Memory0()[arg0 / 4 + 1] = isLikeNone(ret) ? 0 : ret;
318318
getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret);
319319
};
320-
imports.wbg.__wbg_setnodeId_84bf16abde40475d = function(arg0, arg1) {
320+
imports.wbg.__wbg_setnodeId_e99b9a96b99e5718 = function(arg0, arg1) {
321321
getObject(arg0).$$$nodeId = arg1 >>> 0;
322322
};
323-
imports.wbg.__wbg_removeChild_67ab7410bea7e2cb = function() { return handleError(function (arg0, arg1) {
323+
imports.wbg.__wbg_removeChild_94b0c126b878241b = function() { return handleError(function (arg0, arg1) {
324324
const ret = getObject(arg0).removeChild(getObject(arg1));
325325
return addHeapObject(ret);
326326
}, arguments) };
327-
imports.wbg.__wbg_createComment_37320b5dff6cf59b = function(arg0, arg1, arg2) {
327+
imports.wbg.__wbindgen_cb_drop = function(arg0) {
328+
const obj = takeObject(arg0).original;
329+
if (obj.cnt-- == 1) {
330+
obj.a = 0;
331+
return true;
332+
}
333+
const ret = false;
334+
return ret;
335+
};
336+
imports.wbg.__wbg_createElement_28fc3740fb11defb = function() { return handleError(function (arg0, arg1, arg2) {
328337
var v0 = getCachedStringFromWasm0(arg1, arg2);
329-
const ret = getObject(arg0).createComment(v0);
338+
const ret = getObject(arg0).createElement(v0);
330339
return addHeapObject(ret);
331-
};
332-
imports.wbg.__wbg_instanceof_Window_a2a08d3918d7d4d0 = function(arg0) {
340+
}, arguments) };
341+
imports.wbg.__wbg_setAttribute_8cfc462c0dedd03b = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
342+
var v0 = getCachedStringFromWasm0(arg1, arg2);
343+
var v1 = getCachedStringFromWasm0(arg3, arg4);
344+
getObject(arg0).setAttribute(v0, v1);
345+
}, arguments) };
346+
imports.wbg.__wbg_addEventListener_b2c53f6c8c23bac8 = function() { return handleError(function (arg0, arg1, arg2, arg3) {
347+
var v0 = getCachedStringFromWasm0(arg1, arg2);
348+
getObject(arg0).addEventListener(v0, getObject(arg3));
349+
}, arguments) };
350+
imports.wbg.__wbg_instanceof_Window_42f092928baaee84 = function(arg0) {
333351
const ret = getObject(arg0) instanceof Window;
334352
return ret;
335353
};
336-
imports.wbg.__wbg_document_14a383364c173445 = function(arg0) {
354+
imports.wbg.__wbg_document_15b2e504fb1556d6 = function(arg0) {
337355
const ret = getObject(arg0).document;
338356
return isLikeNone(ret) ? 0 : addHeapObject(ret);
339357
};
340-
imports.wbg.__wbg_querySelector_d5f2cd97210290fd = function() { return handleError(function (arg0, arg1, arg2) {
358+
imports.wbg.__wbg_querySelector_73feab41810011dc = function() { return handleError(function (arg0, arg1, arg2) {
341359
var v0 = getCachedStringFromWasm0(arg1, arg2);
342360
const ret = getObject(arg0).querySelector(v0);
343361
return isLikeNone(ret) ? 0 : addHeapObject(ret);
344362
}, arguments) };
345-
imports.wbg.__wbg_self_ba1ddafe9ea7a3a2 = function() { return handleError(function () {
363+
imports.wbg.__wbg_createComment_f95f265ec268f7ec = function(arg0, arg1, arg2) {
364+
var v0 = getCachedStringFromWasm0(arg1, arg2);
365+
const ret = getObject(arg0).createComment(v0);
366+
return addHeapObject(ret);
367+
};
368+
imports.wbg.__wbg_self_fd00a1ef86d1b2ed = function() { return handleError(function () {
346369
const ret = self.self;
347370
return addHeapObject(ret);
348371
}, arguments) };
349-
imports.wbg.__wbg_window_be3cc430364fd32c = function() { return handleError(function () {
372+
imports.wbg.__wbg_window_6f6e346d8bbd61d7 = function() { return handleError(function () {
350373
const ret = window.window;
351374
return addHeapObject(ret);
352375
}, arguments) };
353-
imports.wbg.__wbg_globalThis_56d9c9f814daeeee = function() { return handleError(function () {
376+
imports.wbg.__wbg_globalThis_3348936ac49df00a = function() { return handleError(function () {
354377
const ret = globalThis.globalThis;
355378
return addHeapObject(ret);
356379
}, arguments) };
357-
imports.wbg.__wbg_global_8c35aeee4ac77f2b = function() { return handleError(function () {
380+
imports.wbg.__wbg_global_67175caf56f55ca9 = function() { return handleError(function () {
358381
const ret = global.global;
359382
return addHeapObject(ret);
360383
}, arguments) };
361384
imports.wbg.__wbindgen_is_undefined = function(arg0) {
362385
const ret = getObject(arg0) === undefined;
363386
return ret;
364387
};
365-
imports.wbg.__wbg_newnoargs_fc5356289219b93b = function(arg0, arg1) {
388+
imports.wbg.__wbg_newnoargs_971e9a5abe185139 = function(arg0, arg1) {
366389
var v0 = getCachedStringFromWasm0(arg0, arg1);
367390
const ret = new Function(v0);
368391
return addHeapObject(ret);
369392
};
370-
imports.wbg.__wbg_call_4573f605ca4b5f10 = function() { return handleError(function (arg0, arg1) {
393+
imports.wbg.__wbg_call_33d7bcddbbfa394a = function() { return handleError(function (arg0, arg1) {
371394
const ret = getObject(arg0).call(getObject(arg1));
372395
return addHeapObject(ret);
373396
}, arguments) };
@@ -409,61 +432,43 @@ function getImports() {
409432
const ret = getObject(arg0).msCrypto;
410433
return addHeapObject(ret);
411434
};
412-
imports.wbg.__wbg_newwithlength_e833b89f9db02732 = function(arg0) {
435+
imports.wbg.__wbg_newwithlength_66e5530e7079ea1b = function(arg0) {
413436
const ret = new Uint8Array(arg0 >>> 0);
414437
return addHeapObject(ret);
415438
};
416439
imports.wbg.__wbg_randomFillSync_91e2b39becca6147 = function() { return handleError(function (arg0, arg1, arg2) {
417440
getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2));
418441
}, arguments) };
419-
imports.wbg.__wbg_subarray_9482ae5cd5cd99d3 = function(arg0, arg1, arg2) {
442+
imports.wbg.__wbg_subarray_270ff8dd5582c1ac = function(arg0, arg1, arg2) {
420443
const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);
421444
return addHeapObject(ret);
422445
};
423446
imports.wbg.__wbg_getRandomValues_b14734aa289bc356 = function() { return handleError(function (arg0, arg1) {
424447
getObject(arg0).getRandomValues(getObject(arg1));
425448
}, arguments) };
426-
imports.wbg.__wbg_length_e09c0b925ab8de5d = function(arg0) {
449+
imports.wbg.__wbg_length_51f19f73d6d9eff3 = function(arg0) {
427450
const ret = getObject(arg0).length;
428451
return ret;
429452
};
430453
imports.wbg.__wbindgen_memory = function() {
431454
const ret = wasm.memory;
432455
return addHeapObject(ret);
433456
};
434-
imports.wbg.__wbg_buffer_de1150f91b23aa89 = function(arg0) {
457+
imports.wbg.__wbg_buffer_34f5ec9f8a838ba0 = function(arg0) {
435458
const ret = getObject(arg0).buffer;
436459
return addHeapObject(ret);
437460
};
438-
imports.wbg.__wbg_new_97cf52648830a70d = function(arg0) {
461+
imports.wbg.__wbg_new_cda198d9dbc6d7ea = function(arg0) {
439462
const ret = new Uint8Array(getObject(arg0));
440463
return addHeapObject(ret);
441464
};
442-
imports.wbg.__wbg_set_a0172b213e2469e9 = function(arg0, arg1, arg2) {
465+
imports.wbg.__wbg_set_1a930cfcda1a8067 = function(arg0, arg1, arg2) {
443466
getObject(arg0).set(getObject(arg1), arg2 >>> 0);
444467
};
445-
imports.wbg.__wbg_createElement_2d8b75cffbd32c70 = function() { return handleError(function (arg0, arg1, arg2) {
446-
var v0 = getCachedStringFromWasm0(arg1, arg2);
447-
const ret = getObject(arg0).createElement(v0);
448-
return addHeapObject(ret);
449-
}, arguments) };
450-
imports.wbg.__wbg_instanceof_Node_4327514ecb844897 = function(arg0) {
451-
const ret = getObject(arg0) instanceof Node;
452-
return ret;
453-
};
454-
imports.wbg.__wbg_addEventListener_5822223857fe82cb = function() { return handleError(function (arg0, arg1, arg2, arg3) {
468+
imports.wbg.__wbg_setclassName_9de5374b300f822d = function() { return handleError(function (arg0, arg1, arg2) {
455469
var v0 = getCachedStringFromWasm0(arg1, arg2);
456-
getObject(arg0).addEventListener(v0, getObject(arg3));
470+
getObject(arg0).className = v0;
457471
}, arguments) };
458-
imports.wbg.__wbindgen_cb_drop = function(arg0) {
459-
const obj = takeObject(arg0).original;
460-
if (obj.cnt-- == 1) {
461-
obj.a = 0;
462-
return true;
463-
}
464-
const ret = false;
465-
return ret;
466-
};
467472
imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
468473
const ret = debugString(getObject(arg1));
469474
const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
@@ -478,8 +483,8 @@ function getImports() {
478483
const ret = getStringFromWasm0(arg0, arg1);
479484
return addHeapObject(ret);
480485
};
481-
imports.wbg.__wbindgen_closure_wrapper782 = function(arg0, arg1, arg2) {
482-
const ret = makeClosure(arg0, arg1, 27, __wbg_adapter_22);
486+
imports.wbg.__wbindgen_closure_wrapper58 = function(arg0, arg1, arg2) {
487+
const ret = makeMutClosure(arg0, arg1, 3, __wbg_adapter_22);
483488
return addHeapObject(ret);
484489
};
485490

@@ -493,8 +498,8 @@ function initMemory(imports, maybe_memory) {
493498
function finalizeInit(instance, module) {
494499
wasm = instance.exports;
495500
init.__wbindgen_wasm_module = module;
496-
cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);
497-
cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);
501+
cachedInt32Memory0 = new Int32Array();
502+
cachedUint8Memory0 = new Uint8Array();
498503

499504
wasm.__wbindgen_start();
500505
return wasm;
Binary file not shown.

frameworks/keyed/sycamore/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "Benchmark for Sycamore",
55
"license": "ISC",
66
"js-framework-benchmark": {
7-
"frameworkVersion": "0.7.1"
7+
"frameworkVersion": "0.8.0"
88
},
99
"scripts": {
1010
"build-prod": "echo This is a no-op. && echo Due to heavy dependencies, the generated javascript is already provided. && echo If you really want to rebuild from source use: && echo npm run build-prod-force",

0 commit comments

Comments
 (0)