Surge_by_SukkaW/Build/lib/tldts.bench.ts
2024-08-02 17:02:41 +08:00

38 lines
1.1 KiB
TypeScript

import { fetchRemoteTextByLine } from './fetch-text-by-line';
import { processLineFromReadline } from './process-line';
import { bench, group, run } from 'mitata';
import * as tldts from 'tldts';
import * as tldtsExperimental from 'tldts-experimental';
(async () => {
const data = await processLineFromReadline(await fetchRemoteTextByLine('https://osint.digitalside.it/Threat-Intel/lists/latestdomains.txt'));
const tldtsOpt: Parameters<typeof tldts.getDomain>[1] = {
allowPrivateDomains: false,
extractHostname: false,
validateHostname: false,
detectIp: false,
mixedInputs: false
};
(['getDomain', 'getPublicSuffix', 'getSubdomain', 'parse'] as const).forEach(methodName => {
group(methodName, () => {
bench('tldts', () => {
for (let i = 0, len = data.length; i < len; i++) {
tldts[methodName](data[i], tldtsOpt);
}
});
bench('tldts-experimental', () => {
for (let i = 0, len = data.length; i < len; i++) {
tldtsExperimental[methodName](data[i], tldtsOpt);
}
});
});
});
run();
})();