Очень медленное время выполнения скомпилированной программы в зависимости от времени выполнения в Visual Studio (с подключенным отладчиком) - PullRequest
0 голосов
/ 15 января 2020

У меня есть исполняемый файл C#, встроенный в Visual Studio 2019, который работает в 20 раз быстрее с отладкой (F5), чем без отладки (CTRL + F5) при запуске в Visual Studio. Это происходит с опциями сборки Debug и Release. Запуск исполняемого файла из командной строки также приводит к увеличению скорости выполнения в 20 раз.

Это не опечатка выше, я понимаю, что это противоположно тому, что обычно ожидают.

Любые мысли, как возможные причины или направления расследования приветствуются.

Я использую пакет ILNumerics для математических операций Matrix, в противном случае довольно простые c C# вычисления (ничего особенного). Windows 10 Корпоративная ОС 64-разрядная.

1 Ответ

1 голос
/ 16 января 2020

Решением было ограничить максимальное количество потоков до 1, добавив в метод конструктора следующее:

   ' A creatable COM class must have a Public Sub New() 
    ' with no parameters, otherwise, the class will not be 
    ' registered in the COM registry and cannot be created 
    ' via CreateObject.
    Public Sub New()
        MyBase.New()

        ILNumerics.Settings.MaxNumberThreads = 1
    End Sub
...