Работа IronPython

Вы можете использовать .find() , чтобы вернуть первую функцию, не возвращающую ложь, и затем запустить ее снова, чтобы получить результат. Конечно, вы, вероятно, хотели бы иметь запасной вариант в случае, если все ваши функции возвращают ложные значения.

const a = () => false;
const b = () => false;
const c = () => "Hello world";

var aibot = [a, b, c].find(f => f()) || (() => false);
console.log(aibot());

7
задан Jason Baker 8 February 2009 в 17:23
поделиться

5 ответов

Работа IronPython действительно довольно хороша. Потеря производительности запуска, которую Вы получаете, должна сделать со временем выполнения.NET. приложения.NET обычно имеют медленное время запуска, потому что много блоков загружается, и некоторые из них (по крайней мере некоторые классы) компилируются на лету.

Это - ожидаемое поведение в.NET. Фактическая производительность во время выполнения намного лучше. Даже производительность запуска может быть улучшена путем предварительной компиляции блока IronPython и помещения копии в GAC: глобальный кэш сборок Вашей машины. Это может быть сделано с помощью gacutil.exe.

13
ответ дан 6 December 2019 в 08:46
поделиться

Можно также предварительно скомпилировать стандартную библиотеку, которая идет с IronPython для получения намного лучшего выполнения запуска. Существует pyc.py образец, который может сделать это.

4
ответ дан 6 December 2019 в 08:46
поделиться

Количество ядер не будет иметь большую часть значения для запущения перфекта :)

Запуск является особенно медленным в 64-разрядной операционной системе из-за различий в производительности между 32-разрядными и 64-разрядными дрожаниями. Если Вы используете 64-разрядную ОС, но не нуждаетесь в 64-разрядном процессе, попробуйте следующее:

  1. скопируйте ipy.exe в ipy32.exe
  2. используйте corflags.exe из Windows SDK для маркировки ipy32.exe как 32-разрядный исполняемый файл путем высказывания "corflags/32bit + ipy32.exe".

32-разрядная версия должна дать, Вы намного лучше запускаетесь - хотя все еще нигде рядом столь же хороший, как CPython не запускаются. Но это - что-то, что мы продолжаем продолжать работать.

2
ответ дан 6 December 2019 в 08:46
поделиться

Время запуска и рабочая производительность непосредственно не связаны. Апплеты Java получили большую часть своей репутации замедления, не потому что апплет медленно работал, но потому что потребовались минуты времени выполнения для начала работы. Если бы Вы делаете настольное приложение, я волновался бы о выполнении запуска. Если Ваш под управлением серверный код, где время выполнения всегда, это не проблема.

1
ответ дан 6 December 2019 в 08:46
поделиться

Существуют улучшения во время запуска интерпретатора в коде IronPython CodePlex. Хотя я все еще вижу задержки по сравнению с CPython, существует существенное улучшение.

1
ответ дан 6 December 2019 в 08:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: