1) Python не медленный, просто надо уметь им пользоваться.
2) Это не программа, а обфусцированный говнокод. Опишите логику (что программа должна делать?), задайте внятные названия переменных. Задайте начальные значения в явном виде, а не через input(). Укажите ожидаемый результат для входных данных.
res2001, вообще, в numpy есть способы фильтрации массивов - np.where() и т.п. Так что автору не стоит смешивать numpy с функциями стандартной библиотеки.
Олег Петров, в случае нецелого числа Ваша функция function2() возвращает None (где второй return для случая int(x) != x?), который передаётся в differential_evolution и, естественно, даёт ошибку.
Илья, асинхронный Nginx работает несравнимо быстрее многопоточного Apache. Увеличение числа потоков не даёт гарантии производительности, особенно в Python с его GIL - это будет псевдо-параллельное исполнение. Вы профилировали код, делали тесты? Не исключено, что в обработке списка у Вас используется медленный и неоптимальный код, который снижает производительность раз в 10. Все "ускорения" надо делать после профилировки. А по поводу асинхронности - просто попробуйте и оцените результат.
Выглядит очень говнокодисто. Почему оно не может работать в обычной связке asyncio + aiohttp? И никакой геморрой с локами не нужен будет. И бесконечные циклы со sleep'ами тоже.
Помимо говнокода в целом и хардкодинга в частности, на основании чего сделан вывод, что длина спички равна 1? Это не оговорено в условии задачи. Более того,из входных данных видно, что длина может быть разной.