Представитель Шуры Люберецкого в ЖЖ (brat_luber) wrote,
Представитель Шуры Люберецкого в ЖЖ
brat_luber

Category:

Про Python, программистов и математиков…

…или зачем математикам программирование, или программистам – математика.

Посмотрел краем глаза на один прожект, где слепили обработку загружаемых пользователем аудиофайлов на Python, разумеется, с использованием SciPy (на это ума хватило). “Обработка” – громко сказано, на самом деле все сводится к обычной линейной алгебре. Беда в том, что файлы немаленькие – скажем, два канала с частотой дискретизации 44,1 кГц и разрядностью в 16 бит. Часовая запись – это уже 600 Мб, которые для использования SciPy надо полностью загрузить в память. Заодно там надо как-то хранить и промежуточные результаты вычислений – и в результате объем сожранной питоном памяти растет просто катастрофически.

Впрочем, память сейчас кажется дешевой, а подход “закидать проблему железом” – работающим. Так вот, при желании почти всю “обработку”, которая есть в этом проекте, можно было бы сделать практически “в режиме онлайн”, со скоростью загрузки или чтения файла с данными, а заодно – с в разы меньшим потреблением памяти. Нечто подобное я как-то делал даже для микроконтроллеров класса “за 2$ на алиэкспресс”, с каким-нибудь ядром наподобие Cortex-M3, а лучше M4, и десятком-другим килобайт ОЗУ.

Беда в том, что условные “математики”, сделавшие первую демонстрацию алгоритмов на SciPy (это модно и “научно”), не хотят лезть в программирование, а программисты не понимают примерно ничего из написанного на SciPy (ну например, хотя бы того, что делает функция numpy.dot).

С другой стороны, конечно, никакая оптимизация тому проекту не поможет – при 1 пользователе эта демонстрашка работает, при 10 придется докинуть памяти, при 100 пользователях может возникнуть проблема – компьютеры с потребным количеством памяти делает разве что IBM; другое дело, что 100 пользователей у того проекта никогда не будет.

Запись опубликована в блоге Шуры Люберецкого. Вы можете оставлять свои комментарии там, используя свое имя пользователя из ЖЖ (вход по OpenID).

Subscribe

  • И еще про “Морской бой”

    Всего-то пара бессонных ночей – и внутриигровая карта принимает нужный вид: Че там, какие новости? Соответствует ли эта карта сегодняшним…

  • The Battle on the Black Sea

    Именно это написано на стартовом экране “Морского боя” за авторством Вадима Башурова, в котором в качестве “наших” и…

  • ККнД по-русски – финальные ролики

    Просили рассказать, чем завершается противостояние между украинскими националистами и русскими бандитами в пиратском “ переводе” KKnD.…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 3 comments