/
githubmirror
/
tauri
Обзор
Документация
Войти
/
githubmirror
/
tauri
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
bench/tests/cpu_intensive/public/site.js
57 строк
1 KB
Amr Bashir
Restructure the repository (#10796)
28 авг 2024, 00:42
Не верифицирован
28 авг 2024, 00:42
36eee37
Код
Авторство
О чём код?
// Copyright 2019-2024 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT // Create web worker const THRESHOLD = 10000000 const worker = new Worker('worker.js') /** @type {HTMLButtonElement} */ const start = document.getElementById('start') /** @type {HTMLParagraphElement} */ const status = document.getElementById('status') const results = document.getElementById('results') const ITERATIONS = 1 let resolver const onMessage = (message) => { // Update the UI let prefix = '[Calculating]' if (message.data.status === 'done') { // tell tauri that we are done window.__TAURI__.core.invoke('app_completed_successfully') } status.innerHTML = `${prefix} Found <code>${message.data.count}</code> prime numbers in <code>${message.data.time}ms</code>` if (message.data.status === 'done') { resolver(message.data.time) } } worker.addEventListener('message', onMessage) const benchmark = () => { return new Promise((resolve) => { const startTime = Date.now() resolver = resolve worker.postMessage({ value: THRESHOLD, startTime }) }) } const calculate = async () => { let total = 0 for (let i = 0; i < ITERATIONS; i++) { const result = await benchmark() total += result } const average = total / ITERATIONS results.innerText = `Average time: ${average}ms` } window.addEventListener('DOMContentLoaded', calculate)