Есть идея одного сервиса, бэкэнд которого будет считать довольно много математики по весьма объемным данным (статистика, fft, свертки, обработка звука и изображений, возможно немного распознавания и всё такое). Собственно вопрос - какой выбрать язык?
Некоторое время назад я узнал про NumPy, и он мне очень понравился. В этой связи, конечно же, возникла идея выбрать Питон. Масла в огонь подлил один опытный товарищ, который сказал что-то типа "да сейчас весь веб нужно делать на Питоне" (мысленно сделаю скидку на его личные симпатии).
Но потом мне попалась на глаза
статья, из которой следует, что Python в среднем на порядок(!) медленнее, чем Go. Это сильно поколебало моё мнение. 2-3 раза можно было бы простить, но порядок - это очень серьезный повод задуматься. Сервера-то недешевые.
И вот я подумал, что может поступить иначе - основную часть бэкэнда тупо на PHP (проще и дешевле), а самые критичные и математичные места на Go?
С другой стороны, я читал, что вроде бы NumPy внутри реализован на C++, а питоновый там только интерфейс? Если так, что тесты в вышеприведенной статье могут быть непоказательны в данном случае?
И чтоб в два раза не вставать - существуют ли библиотеки, подобные NumPy для PHP, Go и пр? Чтобы похожая идеология, количество функций и так далее. Конечно, быстрее всего будет работать что-то нативное на C++ (типа FFTW), но что-то не хочется возиться с большим зоопарком разрозненных библиотек в попытках их подружить. Хочется один швейцарский ножик.