63 lines
1.5 KiB
JavaScript
63 lines
1.5 KiB
JavaScript
const Logger = require('./src/logger.js');
|
|
const Server = require('./src/webserver.js');
|
|
const Router = require('./src/router.js');
|
|
const Socket = require('./src/socketserver.js');
|
|
const Locale = require('./src/locale.js');
|
|
const Dict = require('./src/dictionary.js');
|
|
const Dist = require('./src/letter-distributions.js');
|
|
|
|
const Helpers = require('./src/helpers.js');
|
|
|
|
require('dotenv').config();
|
|
|
|
async function main()
|
|
{
|
|
Logger.SetLevel(Logger.VERBOSE_LOGS);
|
|
Logger.init();
|
|
|
|
await Locale.init();
|
|
await Dict.LoadTextDictionaries();
|
|
await Server.init();
|
|
await Socket.init();
|
|
await Router.init();
|
|
|
|
// benchmarkDictionary();
|
|
|
|
Logger.ready();
|
|
}
|
|
|
|
function benchmarkDictionary()
|
|
{
|
|
let hrTime = process.hrtime();
|
|
// convert to ns
|
|
let startTime = hrTime[0] * 1000000 + hrTime[1] / 1000;
|
|
|
|
// Time 10 thousand reads
|
|
for (let i = 0; i < 10000; i++)
|
|
Dict.FindWord('en', 'ZZZS');
|
|
|
|
hrTime = process.hrtime();
|
|
let endTime = hrTime[0] * 1000000 + hrTime[1] / 1000;
|
|
|
|
Logger.debug(`10 000 Reads (unoptimised): ${endTime - startTime}μs`);
|
|
|
|
|
|
Dict.Optimise();
|
|
|
|
|
|
hrTime = process.hrtime();
|
|
startTime = hrTime[0] * 1000000 + hrTime[1] / 1000;
|
|
|
|
// Time 10 thousand reads
|
|
for (let i = 0; i < 10000; i++)
|
|
Dict.FindWord('en', 'ZZZS');
|
|
|
|
hrTime = process.hrtime();
|
|
endTime = hrTime[0] * 1000000 + hrTime[1] / 1000;
|
|
|
|
Logger.debug(`10 000 Reads (optimised): ${endTime - startTime}μs`);
|
|
}
|
|
|
|
|
|
main();
|