Какой язык программирования лучше использоватьна поиска по ftp?
Есть файлы на ftp а также у каждого пользователя есть список с названиями документов по которым будет производиться поиск. Названия документов представлены в виде 123456.[расширение файла] (pdf, xls и др.) Необходимо ввести в поисковую строку названия файлов разделенных точкой с запятой. А далее происходит поиск файлов и выдается список, который можно заархивировать и переслать по почте.
Подскажите пожалуйста на каком языке программирования наиболее эффективно будет написать такое приложение.
без разницы.
дело не в языке программирования, а в умении им пользоваться.
Если накладываются ограничения по скорости поиска, то при наличии 300 000 имен файлов я бы уже подумал об индексе. Причем индекс будет нужен независимо от языка программирования.
Если нет ограничений на скорость - то задача решается тупым перебором.
Будет задача реализована на PHP, Python, C#, Golang, Java - по сути ничего не изменит.
К сожалению лимит на скорость есть. Он должен быть не больше 15 секунд. Т.е. поиск всех файлов сразу должен занимать не более 15 секунд. Возможно ли такое с php?
К сожалению лимит на скорость есть. Он должен быть не больше 15 секунд. Т.е. поиск всех файлов сразу должен занимать не более 15 секунд. Возможно ли такое с php?
Если без индексов - то Вы будете ограничены скоростью вашей дисковой подсистемы, а вовсе не скоростью языка программирования.
Он должен быть не больше 15 секунд. Т.е. поиск всех файлов сразу должен занимать не более 15 секунд
Да просто накидайте на коленке решение и проверьте на вашем железе - мы больше обсуждаем, чем программу написать.
Вызовы операционной системы позволяют сразу получить список файлов по маске.
Тут вся нагрузка будет не на ваш язык программирования - всю работу выполнит ОС.
Ольга Пономарева, Скорость поиска мало зависит от языка.
Она зависит от кучи факторов.
Скорость линейного чтения диска, скорость случайного чтения диска, латенси диска, грамотность кода.
Т.е вы можете написать код который будет порождать случайное чтение - будет медленно.
Вы можете написать код который будет приближать чтение к линейному - будет быстро.
Код может делать лишние операции, неээфективно перебирать данные.
На каком языке вы напишите этот код, неважно.
Главное организация самих данных и логики поиска - индексация, испоьзование подходящих для ситуации баз данных и методов поиска.
Например у вас идет поиск по FTP - каждый запрос это приличное время, да еще и оборваться может, надо оптимизировать, уменьшать количество запросов.
Если вам нужно искать не информацию в файлах, а файлы по названиям там вообще все просто - запросили у ftp сервера индекс файлов, нашли в этом файле нужные наименования и все.