Files
Amr Bashir 36eee37220 Restructure the repository (#10796)
* Restructure the repository

* lock file

* fmt

* fix bench

* fix cli template test

* remove accidental file

* fix mv command

* clippy

* upgrade paths-filter github action

* fix cli migration tests

* lockfile

* license headers

* clippy

* scope test-core to tauri crate

* license header

* correct --manifest-path usage

* lockfile

* fix tauri-driver on macOS [skip ci]

* build target ios

* try downgrade env_logger

* downgrade 0.1.7

* try to fix bench

* bench overflow

* revert overflow fix, fix tauri_root_path

* revert env_logger downgrade

* fmt

* raise msrv to 1.71

* fmt

* delete .cargo/config.toml [skip ci]

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
2024-08-27 18:42:30 -03:00

58 lines
1.4 KiB
JavaScript

// 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)