За последние 24 часа нас посетили 6104 программиста и 459 роботов. Сейчас ищут 142 программиста ...

Что может заменить PHP при выполнении следующей задачи..?

Тема в разделе "PHP для новичков", создана пользователем EndoCrinolog, 11 июл 2018.

  1. EndoCrinolog

    EndoCrinolog Активный пользователь

    С нами с:
    4 фев 2012
    Сообщения:
    175
    Симпатии:
    1
    Адрес:
    Тольятти
    Требуется переименовать 100 000 файлов на сервере. Доступ только по FTP. На каком языке лучше всего написать код? PHP, мне кажется, недостаточно быстр для выполнения подобной задачи. Python? Java?
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.805
    Симпатии:
    941
    Всё упрётся в очередь файловой системы, так что в плане выбора япа - брать тот, который лучше знает программист
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.449
    Симпатии:
    1.739
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    1.188
    Симпатии:
    239
    Адрес:
    Татарстан
    Если доступ к файлам только по фтп, то все упрется именно в протокол. Так что абсолютно без разницы, можно и на php
     
  5. EndoCrinolog

    EndoCrinolog Активный пользователь

    С нами с:
    4 фев 2012
    Сообщения:
    175
    Симпатии:
    1
    Адрес:
    Тольятти
    куда ж я денусь)
    --- Добавлено ---
    проблема не в знании языка, а в том, какой язык по скорости исполнения будет быстрее справляться с поставленной задачей
     
  6. Почтальон

    Почтальон Новичок

    С нами с:
    1 июл 2018
    Сообщения:
    13
    Симпатии:
    1
    Адрес:
    Сызрань
    естественно ассемблер, но писать на нем будет далеко не дешево. Берите любой язык высокого уровня и вперед.
     
  7. mkramer

    mkramer Суперстар

    С нами с:
    20 июн 2012
    Сообщения:
    6.059
    Симпатии:
    1.111
    Издержки на ftp-соединение и работу с ним покроют разницу в скорости исполнения на разных языках, поэтому выигрыша от языка видно не будет. Если конечно нет возможности закачать по ftp скрипт, и запустить, чтоб переименовывал себе прямо на сервере
     
  8. voral

    voral Активный пользователь

    С нами с:
    30 ноя 2017
    Сообщения:
    638
    Симпатии:
    102
    Справедливости для. Не совсем так это уже. Современные компиляторы стали очень умными, и написание узких мест на асме не всегда дает заметный профит. Тем более в таких тривиальных задачах. Если настройки сервера позволяют залить бинарник, сделать его исполняемым я бы написал на С++ в несколько потоков и дернул, например, при помощи php.
    Но. Это целесообразно если задача не разовая....

    Для разовой задачи PHP или баш - как минимум ни какой мороки с компиляцией под ОС сервера, возможными ограничениями по правам ftp и т.п. Если нужна прям скорость скорость: положите все под git. Клонируйте на другой комп, там все сделайте не спеша (кстати раньше far такое умел, даже с использованием регекспов и разных подстановок), и запуште изменения обратно
     
  9. Abyss

    Abyss Активный пользователь

    С нами с:
    12 дек 2015
    Сообщения:
    1.274
    Симпатии:
    214
    Адрес:
    Default city
  10. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.604
    Симпатии:
    578
    Не стоит недооценивать php ) К примеру, у нас api отдается через swoole, среднее время отдачи страницы, при условии, что все нужные данные закэшированы не превышает 20-30мс, а обычно и того 10мс. И это с учетом того, что отдает довольно тяжелый laravel. Но на практике, закешировать всё невозможно и потому среднее время ответа стремится к 100мс, потому что приходится стучаться в другие api и делать выборки из БД.

    В вашем случае, время ожидания сети будет много больше работы самого php, а значит даже если вы замените его на любой другой более быстрый язык, профит всё равно будет сомнительным. Единственное что может реально повлиять на скорость выполнения кейса - несколько потоков переименования. В php тоже можно это сделать, но в том же js или go это будет чуть проще.
     
  11. mkramer

    mkramer Суперстар

    С нами с:
    20 июн 2012
    Сообщения:
    6.059
    Симпатии:
    1.111
    А если не секрет, какие параметры сервера? У меня Laravel только бутстрапится, до выполнения моего кода, от 100 на VPS-ках. Даже если сам код а-ля взять модель/вывести модель... Debug Panel показывает, что запросы занимают от силы 10-20 мс.
     
  12. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.604
    Симпатии:
    578
  13. mkramer

    mkramer Суперстар

    С нами с:
    20 июн 2012
    Сообщения:
    6.059
    Симпатии:
    1.111
  14. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.604
    Симпатии:
    578
    Ага. Laravel при этом чувствует себя вполне нормально, собственно всё тоже самое, только в HttpKernel подсовывают не один запрос, а несколько. Тут главное, что бы твой код не протекал и swoole будет висеть хоть месяцами )
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.449
    Симпатии:
    1.739
    такая мелочь
     
  16. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.604
    Симпатии:
    578
    ну, пых уже давно сам по себе не течет, не захламляй память всякой ерундой и будет нормально.
     
  17. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.193
    Симпатии:
    455
    @romach На lumen переходить не пробовали? Что удерживает?
     
  18. [vs]

    [vs] Суперстар

    С нами с:
    27 сен 2007
    Сообщения:
    10.227
    Симпатии:
    521
    Надо составить список файлов и распределить на 100 потоков и будет норм. 100к в один поток по ФТП - борода отрастет пока закончится.
     
  19. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.193
    Симпатии:
    455
    Насколько я понимаю это хостинг. Частые запросы в большом количестве должны блокироваться.
     
  20. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.449
    Симпатии:
    1.739
    скачать, переименовать, залить :D
     
  21. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.193
    Симпатии:
    455
    Снять впс и не страдать ерундой:)
     
    igordata нравится это.
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.449
    Симпатии:
    1.739
    Снять впс и не страдать ерундой:)
     
    nospiou нравится это.
  23. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.193
    Симпатии:
    455
    Мне нравится твой ответ
     
    igordata нравится это.
  24. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.449
    Симпатии:
    1.739
    обнимашки
     
  25. nospiou

    nospiou Активный пользователь

    С нами с:
    4 фев 2018
    Сообщения:
    3.193
    Симпатии:
    455
    А @Tankisa не приревнует?