Created
June 22, 2022 00:43
-
-
Save dnys1/90d8f7d0c420ae98dd75d09135166f45 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:e2e_test/e2e_test.dart'; | |
import 'package:e2e_test/src/workers.debug.compiled.dart' | |
deferred as debug_workers; | |
import 'package:e2e_test/src/workers.release.compiled.dart' | |
deferred as release_workers; | |
import 'package:test/test.dart'; | |
void main() { | |
Future<void> warmup() async { | |
final worker = E2EWorker.create(); | |
await worker | |
.spawn( | |
jsEntrypoint: 'packages/e2e_test/src/no_workers.js', | |
) | |
.catchError((_) {}); | |
} | |
setUpAll(warmup); | |
test('Direct', () async { | |
final stopwatch = Stopwatch()..start(); | |
final worker = E2EWorker.create(); | |
// worker.logs.listen(print); | |
await worker.spawn( | |
jsEntrypoint: 'packages/e2e_test/src/workers.js', | |
); | |
stopwatch.stop(); | |
print('Direct Result: ${stopwatch.elapsedMicroseconds}us'); | |
await Future.delayed(Duration.zero); | |
}); | |
test('Direct (min)', () async { | |
final stopwatch = Stopwatch()..start(); | |
final worker = E2EWorker.create(); | |
// worker.logs.listen(print); | |
await worker.spawn( | |
jsEntrypoint: 'packages/e2e_test/src/workers.min.js', | |
); | |
stopwatch.stop(); | |
print('Direct Result: ${stopwatch.elapsedMicroseconds}us'); | |
await Future.delayed(Duration.zero); | |
}); | |
test('Loader', () async { | |
final stopwatch = Stopwatch()..start(); | |
final worker = E2EWorker.create(); | |
// worker.logs.listen(print); | |
await worker.spawn( | |
loadJsEntrypoint: () async { | |
await debug_workers.loadLibrary(); | |
return debug_workers.workerJs; | |
}, | |
); | |
stopwatch.stop(); | |
print('Loader Result: ${stopwatch.elapsedMicroseconds}us'); | |
await Future.delayed(Duration(seconds: 1)); | |
}); | |
test('Loader (min)', () async { | |
final stopwatch = Stopwatch()..start(); | |
final worker = E2EWorker.create(); | |
// worker.logs.listen(print); | |
await worker.spawn( | |
loadJsEntrypoint: () async { | |
await release_workers.loadLibrary(); | |
return release_workers.workerJs; | |
}, | |
); | |
stopwatch.stop(); | |
print('Loader Result: ${stopwatch.elapsedMicroseconds}us'); | |
await Future.delayed(Duration(seconds: 1)); | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment