diff --git a/packages/vscode/src/extension.ts b/packages/vscode/src/extension.ts index 2f913258..4e7f3bfe 100644 --- a/packages/vscode/src/extension.ts +++ b/packages/vscode/src/extension.ts @@ -60,6 +60,8 @@ export async function activate(context: vscode.ExtensionContext) { const fetchBranches = async () => await getBranches(gitPath, currentWorkspacePath); + const gitLog = await fetchGitLogInParallel(gitPath, currentWorkspacePath); + const fetchCurrentBranch = async () => { let branchName; try { @@ -76,14 +78,9 @@ export async function activate(context: vscode.ExtensionContext) { }; const initialBaseBranchName = await fetchCurrentBranch(); - const fetchClusterNodes = async (baseBranchName = initialBaseBranchName) => { - const startTime = Date.now(); - const gitLog = await fetchGitLogInParallel(gitPath, currentWorkspacePath); - const endTime = Date.now(); - const elapsedTime = (endTime - startTime) / 1000; - console.log(`${elapsedTime.toFixed(3)}s`); + - + const fetchClusterNodes = async (baseBranchName = initialBaseBranchName) => { const gitConfig = await getGitConfig(gitPath, currentWorkspacePath, "origin"); const { owner, repo: initialRepo } = getRepo(gitConfig); diff --git a/packages/vscode/src/utils/git.util.ts b/packages/vscode/src/utils/git.util.ts index 6787ea42..0ca51e7b 100644 --- a/packages/vscode/src/utils/git.util.ts +++ b/packages/vscode/src/utils/git.util.ts @@ -220,8 +220,15 @@ export async function fetchGitLogInParallel(gitPath: string, currentWorkspacePat const totalCnt = await getLogCount(gitPath, currentWorkspacePath); let numberOfThreads = 1; - if(totalCnt > 1000) numberOfThreads = Math.max(numCores/2,1); - console.log("thread nums ",numberOfThreads); + + const taskThreshold = 1000; + const coreCountThreshold = 4; + +if (totalCnt > taskThreshold) { + if (numCores < coreCountThreshold) numberOfThreads = 2; + else numberOfThreads = 3; +} + const chunkSize = Math.ceil(totalCnt/ numberOfThreads); const promises: Promise[] = []; diff --git a/packages/vscode/src/webview-loader.ts b/packages/vscode/src/webview-loader.ts index c7a19c65..a62ee29d 100644 --- a/packages/vscode/src/webview-loader.ts +++ b/packages/vscode/src/webview-loader.ts @@ -37,13 +37,12 @@ export default class WebviewLoader implements vscode.Disposable { const { command, payload } = message; if (command === "fetchAnalyzedData" || command === "refresh") { - const baseBranchName = (payload && JSON.parse(payload)) ?? (await fetchCurrentBranch()); try { const baseBranchName = (payload && JSON.parse(payload)) ?? (await fetchCurrentBranch()); const storedAnalyzedData = context.workspaceState.get( `${ANALYZE_DATA_KEY}_${baseBranchName}` ); - let analyzedData = storedAnalyzedData; + analyzedData = storedAnalyzedData; if (!storedAnalyzedData) { console.log("No cache Data"); console.log("baseBranchName : ", baseBranchName);