From 1df9b581724fdb5d58db103d1ca5994f25d2a884 Mon Sep 17 00:00:00 2001 From: Jelle De Loecker Date: Sat, 27 Apr 2024 14:38:32 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=85=20Add=20more=20Renderer=20benchmarks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- benchmark/05-renderer.js | 79 ++++++++++++++++++++++++---------------- 1 file changed, 48 insertions(+), 31 deletions(-) diff --git a/benchmark/05-renderer.js b/benchmark/05-renderer.js index 27fde8d..a229263 100644 --- a/benchmark/05-renderer.js +++ b/benchmark/05-renderer.js @@ -10,50 +10,67 @@ var source = ` `; var compiled = hawkejs.compile('test', source); -function onComplete(event) { - console.log(String(event.target)); -} -var renderer; -var variables; +const RENDERER = hawkejs.createRenderer(); +__Protoblast.Bound.JSON.toDryObject(RENDERER); -renderer = hawkejs.createRenderer(); -__Protoblast.Bound.JSON.toDryObject(renderer); +const VARIABLE_TEST_TEMPLATE = hawkejs.compile('variable_test', ` +NUMBER: {{ a_number }} +STRING: {{ b_string }} +BOOL: {{ c_boolean }} +ARR: {{ d_array.join('-') }} +MAP: {{ e_object.map.get('a') }} +DATE: {{ f_date }} +`); + +const RAW_VARIABLES = { + a_number : 14, + b_string : 'A string', + c_boolean : true, + d_array : [1, 2, 3], + e_object : { + a: 1, + b: 2, + c: 3, + rx: /regex/, + map: new Map([['a', 1], ['b', 2]]), + }, + f_date : new Date('2024-04-27 14:33:01'), +}; + +const createRawVariables = () => { + return {...RAW_VARIABLES}; +}; + +//RENDERER.renderHTML(VARIABLE_TEST_TEMPLATE, createRawVariables()).done((err, result) => console.log(err, result)) +//console.log(); + +suite('Renderer', function() { -suite('Renderer()', function() { bench('new', function() { hawkejs.createRenderer(); }); - bench('renderHTML()', function() { - renderer = hawkejs.createRenderer(); + bench('prepareVariables()', () => { + let raw_variables = createRawVariables(); + let prepared = RENDERER.prepareVariables(raw_variables); + }); + + bench('renderHTML() (Nested element test)', function() { + let renderer = hawkejs.createRenderer(); return renderer.renderHTML('nested_test'); }); + bench('renderHTML() (Variable test)', function() { + let renderer = hawkejs.createRenderer(); + return renderer.renderHTML(VARIABLE_TEST_TEMPLATE, createRawVariables()); + }); + bench('toDry()', function() { - renderer = hawkejs.createRenderer(); - variables = main.createTestVariables(); + let renderer = hawkejs.createRenderer(); + let variables = main.createTestVariables(); renderer.variables = variables; __Protoblast.Bound.JSON.toDryObject(renderer) }); - - bench('prepareVariables()', () => { - - let raw_variables = { - a_number : 14, - b_string : 'A string', - c_boolean : true, - d_array : [1, 2, 3], - e_object : { - a: 1, - b: 2, - c: 3, - rx: /regex/, - map: new Map([['a', 1], ['b', 2]]), - } - }; - - let prepared = renderer.prepareVariables(raw_variables); - }); });