fix : engine parallel workers

This commit is contained in:
GuillaumeSD
2025-04-20 03:49:15 +02:00
parent 61c90b9c6b
commit 3e9523c49f
12 changed files with 137 additions and 108 deletions

View File

@@ -7,7 +7,10 @@ import { UciEngine } from "@/lib/engine/uciEngine";
import { EngineName } from "@/types/enums";
import { useEffect, useState } from "react";
export const useEngine = (engineName: EngineName | undefined) => {
export const useEngine = (
engineName: EngineName | undefined,
workersNb?: number
) => {
const [engine, setEngine] = useState<UciEngine | null>(null);
useEffect(() => {
@@ -17,7 +20,7 @@ export const useEngine = (engineName: EngineName | undefined) => {
return;
}
pickEngine(engineName).then((newEngine) => {
pickEngine(engineName, workersNb).then((newEngine) => {
setEngine((prev) => {
prev?.shutdown();
return newEngine;
@@ -28,21 +31,24 @@ export const useEngine = (engineName: EngineName | undefined) => {
return engine;
};
const pickEngine = (engine: EngineName): Promise<UciEngine> => {
const pickEngine = (
engine: EngineName,
workersNb?: number
): Promise<UciEngine> => {
switch (engine) {
case EngineName.Stockfish17:
return Stockfish17.create(false);
return Stockfish17.create(false, workersNb);
case EngineName.Stockfish17Lite:
return Stockfish17.create(true);
return Stockfish17.create(true, workersNb);
case EngineName.Stockfish16_1:
return Stockfish16_1.create(false);
return Stockfish16_1.create(false, workersNb);
case EngineName.Stockfish16_1Lite:
return Stockfish16_1.create(true);
return Stockfish16_1.create(true, workersNb);
case EngineName.Stockfish16:
return Stockfish16.create(false);
return Stockfish16.create(false, workersNb);
case EngineName.Stockfish16NNUE:
return Stockfish16.create(true);
return Stockfish16.create(true, workersNb);
case EngineName.Stockfish11:
return Stockfish11.create();
return Stockfish11.create(workersNb);
}
};