···22import type { UserConfig, UserWorkspaceConfig, WorkspaceProjectConfiguration } from '../types/config'
33import type { WorkspaceProject } from '../workspace'
44import { existsSync, promises as fs } from 'node:fs'
55+import os from 'node:os'
56import { limitConcurrency } from '@vitest/runner/utils'
67import fg from 'fast-glob'
78import { relative, resolve } from 'pathe'
···51525253 const projectPromises: Promise<WorkspaceProject>[] = []
5354 const fileProjects = [...configFiles, ...nonConfigDirectories]
5454- const concurrent = limitConcurrency(5)
5555+ const concurrent = limitConcurrency(os.availableParallelism?.() || os.cpus().length || 5)
55565657 for (const filepath of fileProjects) {
5758 // if file leads to the root config, then we can just reuse it because we already initialized it