mirror of
https://github.com/facebook/docusaurus.git
synced 2025-07-23 19:48:54 +02:00
perf(core): optimize SSG collected data memory and worker thread communication (#11162)
This commit is contained in:
parent
53fa0ecb1f
commit
33811e38fe
6 changed files with 105 additions and 46 deletions
|
@ -72,12 +72,22 @@ function createPerfLogger(): PerfLoggerAPI {
|
|||
}
|
||||
};
|
||||
|
||||
const formatMemory = (memory: Memory): string => {
|
||||
const fmtHead = (bytes: number) =>
|
||||
logger.cyan(`${(bytes / 1000000).toFixed(0)}mb`);
|
||||
const formatBytesToMb = (bytes: number) =>
|
||||
logger.cyan(`${(bytes / 1024 / 1024).toFixed(0)}mb`);
|
||||
|
||||
const formatMemoryDelta = (memory: Memory): string => {
|
||||
return logger.dim(
|
||||
`(${fmtHead(memory.before.heapUsed)} -> ${fmtHead(
|
||||
`(Heap ${formatBytesToMb(memory.before.heapUsed)} -> ${formatBytesToMb(
|
||||
memory.after.heapUsed,
|
||||
)} / Total ${formatBytesToMb(memory.after.heapTotal)})`,
|
||||
);
|
||||
};
|
||||
|
||||
const formatMemoryCurrent = (): string => {
|
||||
const memory = getMemory();
|
||||
return logger.dim(
|
||||
`(Heap ${formatBytesToMb(memory.heapUsed)} / Total ${formatBytesToMb(
|
||||
memory.heapTotal,
|
||||
)})`,
|
||||
);
|
||||
};
|
||||
|
@ -103,7 +113,7 @@ function createPerfLogger(): PerfLoggerAPI {
|
|||
console.log(
|
||||
`${PerfPrefix}${formatStatus(error)} ${label} - ${formatDuration(
|
||||
duration,
|
||||
)} - ${formatMemory(memory)}`,
|
||||
)} - ${formatMemoryDelta(memory)}`,
|
||||
);
|
||||
};
|
||||
|
||||
|
@ -144,7 +154,9 @@ function createPerfLogger(): PerfLoggerAPI {
|
|||
};
|
||||
|
||||
const log: PerfLoggerAPI['log'] = (label: string) =>
|
||||
console.log(`${PerfPrefix} ${applyParentPrefix(label)}`);
|
||||
console.log(
|
||||
`${PerfPrefix} ${applyParentPrefix(label)} - ${formatMemoryCurrent()}`,
|
||||
);
|
||||
|
||||
const async: PerfLoggerAPI['async'] = async (label, asyncFn) => {
|
||||
const finalLabel = applyParentPrefix(label);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue