11#!/usr/bin/env ts-node
22
3- import fs from 'fs' ;
4- import path from 'path' ;
3+ import fs from 'node:fs' ;
4+ import path from 'node:path' ;
5+ import url from 'node:url' ;
56import si from 'systeminformation' ;
6- import workerManager from './worker_manager' ;
7+ import { benchesPath } from './utils/utils.js' ;
8+ import workerManager from './worker_manager.js' ;
79
810async function main ( ) : Promise < void > {
9- await fs . promises . mkdir ( path . join ( __dirname , 'results' ) , { recursive : true } ) ;
11+ await fs . promises . mkdir ( path . join ( benchesPath , 'results' ) , {
12+ recursive : true ,
13+ } ) ;
1014 await workerManager ( ) ;
1115 const resultFilenames = await fs . promises . readdir (
12- path . join ( __dirname , 'results' ) ,
16+ path . join ( benchesPath , 'results' ) ,
1317 ) ;
1418 const metricsFile = await fs . promises . open (
15- path . join ( __dirname , 'results' , 'metrics.txt' ) ,
19+ path . join ( benchesPath , 'results' , 'metrics.txt' ) ,
1620 'w' ,
1721 ) ;
1822 let concatenating = false ;
1923 for ( const resultFilename of resultFilenames ) {
2024 if ( / .+ _ m e t r i c s \. t x t $ / . test ( resultFilename ) ) {
2125 const metricsData = await fs . promises . readFile (
22- path . join ( __dirname , 'results' , resultFilename ) ,
26+ path . join ( benchesPath , 'results' , resultFilename ) ,
2327 ) ;
2428 if ( concatenating ) {
2529 await metricsFile . write ( '\n' ) ;
@@ -35,9 +39,16 @@ async function main(): Promise<void> {
3539 system : 'model, manufacturer' ,
3640 } ) ;
3741 await fs . promises . writeFile (
38- path . join ( __dirname , 'results' , 'system.json' ) ,
42+ path . join ( benchesPath , 'results' , 'system.json' ) ,
3943 JSON . stringify ( systemData , null , 2 ) ,
4044 ) ;
4145}
4246
43- void main ( ) ;
47+ if ( import . meta. url . startsWith ( 'file:' ) ) {
48+ const modulePath = url . fileURLToPath ( import . meta. url ) ;
49+ if ( process . argv [ 1 ] === modulePath ) {
50+ void main ( ) ;
51+ }
52+ }
53+
54+ export default main ;
0 commit comments