|
6 / 5 / 2
Регистрация: 08.09.2015
Сообщений: 89
|
|
Выбор языка. Сортировка файлов16.11.2020, 17:07. Показов 1964. Ответов 7
Добрый день!
Просьба дать совет знающим. О себе - достаточно неплохо программирую на PHP (на мой взгляд), когда-то в консольном варианте пробовал C, Java. PHP для жизни и работы хватало. Задача. На множестве дисков накопилось очень много файлов наверно речь о сотнях тысяч или даже миллионах. В основном фотографии, видео и др. Разобрать вручную практически невозможно. Куча дублей и т.д. и т.п. Придумал алгоритм, написал программу на PHP, она относительно компактная, но скажем разбор 10 000 файлов идет минут 20 и более. (файлы по нескольку Мб и более). Самый большой минус - идет все в фоне, вывод результатов раз в несколько минут. Но это, все же свойство этого языка и браузеров. Будет ли все работать быстрее, скажем если использовать C++, C#, Java или что-то другое. Как я понимаю, все же основное время - это работа файловой системы? И какой язык для этого лучше? Стандартные готовые продукты вряд ли подойдут, все же алгоритм сильно свой, по специфике моих файлов.
0
|
|
| 16.11.2020, 17:07 | |
|
Ответы с готовыми решениями:
7
Выбор языка Выбор языка Выбор языка |
|
14122 / 9341 / 1350
Регистрация: 21.01.2016
Сообщений: 35,099
|
||
| 16.11.2020, 18:31 | ||
|
Но если уж сравнивать с языками общего назначения, то лучше использовать C#\Java\Python, а не PHP, который не особо язык общего назначения. Хотя, если вы на этих языках будете писать как на пыхе, то толку от них будет мало...
0
|
||
|
6 / 5 / 2
Регистрация: 08.09.2015
Сообщений: 89
|
||
| 16.11.2020, 19:09 [ТС] | ||
|
А по существу - код написанный одним человеком будет ли работать быстрее? Или в данной задаче основное замедление - это работа HDD? Работа программы с файлами ведется на одном HDD, для ускорения работы.
0
|
||
|
14122 / 9341 / 1350
Регистрация: 21.01.2016
Сообщений: 35,099
|
|||
| 17.11.2020, 05:35 | |||
|
Разговор не предметный, когда обсуждается абстрактный конь в вакууме) Одно точно могу сказать: описанная задача лучше реализуется на языке общего назначения, а не на PHP потому что: * многопоточность * расширенная базовая библиотека классов и\или сторонних пакетов * отсутствие в необходимости в веб-серверах Но надеяться на то, что вы просто перепишете на другом языке и оно залетает я бы не рекомендовал. Во-первых, если ваш алгоритм оптимальный и большая часть времени уходит на I\O, то смена языка ничего не даст. Во-вторых, если ваш алгоритм неоптимальный, то смена языка, опять же, ничего не даст, хоть на ассемблере перепишите. Всё, что даст смена PHP на C#\Java\Python\C++ - это больше возможностей (часть из которых выше перечислил). Но нужны ли они вашему приложению или сможете ли вы ими правильно воспользоваться, этого я не знаю.
1
|
|||
|
6 / 5 / 2
Регистрация: 08.09.2015
Сообщений: 89
|
||
| 17.11.2020, 10:41 [ТС] | ||
|
А по перефразированию я понимал свой вопрос так - представьте, что программу пишите вы. 1-ю на PHP, 2-ю C++, C# или Java. Будет ли выигрыш в смене языка? С учетом, что вы напишите программу идеально и там и там. Задача выглядит примерно так (моя реализация): На один HDD (не SSD, обычный), 1-2 ТБ, в папку 1 сбрасываются файлы для обработки. Программа в папке 2 создает подкаталоги по типу файла, времени создания (год+месяц) и перемещает файлы в эти папки. Если там уже есть такой же файл, то исходный либо удаляется, если это он же (я проверял по MD5 файла), либо исходный переименовывается (добавление к имени символа) и перемещается туда же. Плюс проверки по "битости" (испорченности) файла или определенному типу, которые тоже удаляются, либо складируются в отдельную папку для ручной проверки. Пустые папки удаляются и некоторые другие мелочи. Была еще проверка на одинаковость файлов с разными именами, но пока опустил.
0
|
||
|
14122 / 9341 / 1350
Регистрация: 21.01.2016
Сообщений: 35,099
|
|
| 17.11.2020, 11:09 | |
Сообщение было отмечено VladRost как решение
Решение
1
|
|
|
Модератор
3134 / 2281 / 469
Регистрация: 26.03.2015
Сообщений: 8,877
|
|
| 17.11.2020, 16:29 | |
|
Перемещение файлов в пределах одного диска - очень лёгкая (быстрая) операция. Не должно 20 мин работать.
1
|
|
|
14122 / 9341 / 1350
Регистрация: 21.01.2016
Сообщений: 35,099
|
|
| 18.11.2020, 08:10 | |
|
Shamil1, ТС же ещё хеши рассчитывает для файлов.
1
|
|
| 18.11.2020, 08:10 | |
|
Помогаю со студенческими работами здесь
8
Выбор языка Выбор оптимального языка Выбор языка программирования Выбор языка программирования Выбор языка программирования Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Первый деплой
lagorue 17.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит:
токи, напряжения и их 1 и 2 производные при t = 0;. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|