shuf - рандомный поиск. Применимо, допустим, при условии, если сериал впервые скачан и не имеет целевой папки, то скрипт в след раз с вероятностью, не будет на него обращать внимание, а рандомно будет обращаться к другому.
Шутки здесь нет никакой.
вы сперва скажите, чего же вы хотите от пыхи, чтобы она перестала быть идиотской:
1) пыха вместо уже оптимизированного решения дала лишь несколько базовых кирпичиков. За это назвать тупым почти любой язык, ведь мало в каком языке есть готовые средства, например, для работы с .ods или .csv, а не базовые «прочитать из файла N байт / строку».
2) встроенные функции языка обязаны быть оптимальными. Сколько там для Го более оптимальных библиотек для работы с JSON? Считать ли Го идиотским языком, за то, что встроенные средства неидеальны?
3) У вас есть адекватные претензии, но я вас, гения, не понял.
Цитату пожалуйста, где я писал, что виноваты все, кроме пыхи. Я писал, что если писать код без оптимизации, то и работать он будет медленнее оптимизированного кода. Да, такое вот капитанство.
Файлы на каждое соединение создаёт не php, а система, сюрприз, а задачи обкладываться костылями из-за корявостей операционки ради «задачи 10 тысяч соединений» у него пока не было.
Сокеты работают так же, как у всех, я вам уже раз пять писал. Задействуешь опцию reuse_port - можешь тратить на порядок-другой меньше ресурсов, как Workerman, nginx и многие другие, а не задействуешь - получишь непонятки как автор вопроса. В любом языке.
Ну так докажите, что они не страдают от проблем автора вопроса, но при этом не используют reuse_port. Исходники самого Го в студию.
То, что с reuse_port пыха работает не хуже прочих я уже показал. Да, теми самыми тестами.
я уже написал в чём: вы хотите фигачить код в лоб и верите, что кто-то за вас обязан его оптимизировать.
Макось оптимизировала, фряха оптимизировала, Go оптимизировал (при этом дал своё API), линукс не стал, пыха не стала, но виновата у вас только пыха. Вы либо тогда уж и ядро линукса говном назовите, либо с пыхи глупые обвинения снимите
И да, она без проблем всё вытащит, если правильно ей об этом сказать (думаю найти отличия действий автора вопроса от авторов сервера вы сами сможете).
Выступит не хуже Go если без тяжёлых вычислений.
Ещё раз, вы либо искренне заблуждаетесь, либо нагло врёте. Функции использованные автором, как и множество других, являются простейшими прослойками над вызовом системных функций и в других языках будет ровно то же самое, если открыть несколько тысяч сокетов и удерживать их. Это механика юниксов в целом.
Отсутствие «таких» проблем в «других языках», а точнее в одном лишь Go, означает лишь то, что он втихую использует один системный сокет для получения данных от нескольких клиентов. Точно так же, как это делает nginx.
После перезагрузки настройки файловых дескрипторов сбрасывались до стандартных 1024
каким-то образом подключается 1050 и немного больше