11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ciconst common = require('../common.js'); 31cb0ef41Sopenharmony_ci 41cb0ef41Sopenharmony_ciconst bench = common.createBenchmark(main, { 51cb0ef41Sopenharmony_ci n: [1e6], 61cb0ef41Sopenharmony_ci listeners: [1, 5, 10], 71cb0ef41Sopenharmony_ci}, { flags: ['--expose-internals'] }); 81cb0ef41Sopenharmony_ci 91cb0ef41Sopenharmony_cifunction main({ n, listeners }) { 101cb0ef41Sopenharmony_ci const { EventTarget, Event } = require('internal/event_target'); 111cb0ef41Sopenharmony_ci const target = new EventTarget(); 121cb0ef41Sopenharmony_ci 131cb0ef41Sopenharmony_ci for (let n = 0; n < listeners; n++) 141cb0ef41Sopenharmony_ci target.addEventListener('foo', () => {}); 151cb0ef41Sopenharmony_ci 161cb0ef41Sopenharmony_ci bench.start(); 171cb0ef41Sopenharmony_ci for (let i = 0; i < n; i++) { 181cb0ef41Sopenharmony_ci target.dispatchEvent(new Event('foo')); 191cb0ef41Sopenharmony_ci } 201cb0ef41Sopenharmony_ci bench.end(n); 211cb0ef41Sopenharmony_ci 221cb0ef41Sopenharmony_ci} 23