Skip to content

Commit f63dac9

Browse files
author
Kartik Raj
authored
Make getInterpreters() API faster for subsequent calls (microsoft#16674)
1 parent f609f6a commit f63dac9

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

src/client/common/experiments/helpers.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,10 @@ export async function inDiscoveryExperiment(experimentService: IExperimentServic
1313
]);
1414
return results.includes(true);
1515
}
16+
17+
export function inDiscoveryExperimentSync(experimentService: IExperimentService): boolean {
18+
return (
19+
experimentService.inExperimentSync(DiscoveryVariants.discoverWithFileWatching) ||
20+
experimentService.inExperimentSync(DiscoveryVariants.discoveryWithoutFileWatching)
21+
);
22+
}

src/client/interpreter/interpreterService.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import {
3333
} from './contracts';
3434
import { IVirtualEnvironmentManager } from './virtualEnvs/types';
3535
import { getInterpreterHash } from '../pythonEnvironments/discovery/locators/services/hashProvider';
36-
import { inDiscoveryExperiment } from '../common/experiments/helpers';
36+
import { inDiscoveryExperiment, inDiscoveryExperimentSync } from '../common/experiments/helpers';
3737
import { StopWatch } from '../common/utils/stopWatch';
3838
import { PythonVersion } from '../pythonEnvironments/info/pythonVersion';
3939

@@ -139,7 +139,7 @@ export class InterpreterService implements Disposable, IInterpreterService {
139139
public async getInterpreters(resource?: Uri, options?: GetInterpreterOptions): Promise<PythonEnvironment[]> {
140140
let environments: PythonEnvironment[] = [];
141141
const stopWatch = new StopWatch();
142-
if (await inDiscoveryExperiment(this.experimentService)) {
142+
if (inDiscoveryExperimentSync(this.experimentService)) {
143143
environments = await this.pyenvs.getInterpreters(resource, options);
144144
} else {
145145
const locator = this.serviceContainer.get<IInterpreterLocatorService>(

0 commit comments

Comments
 (0)