Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Железо » Накопители (SSD, HDD, USB Flash) » Разное - Нужно выбрать лучшее решение по скорости мелких файлов

Ответить
Настройки темы
Разное - Нужно выбрать лучшее решение по скорости мелких файлов

Новый участник


Сообщения: 19
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: quesd
Дата: 30-09-2022
Может быть не в том разделе пишу, просьба тогда перенести тему.
В общем, нужно подобрать лучшее решение которое существует на момент сентября 2022.
Задача заключается в следующем: есть очень много мелких файлов в разных папках. более 1 миллиона текстовых файлов, весом от 1 до 500 КБ. Эти файлы в разных папках находятся. Нужно найти решение, которое способно максимально быстро, насколько это возможно, архивировать эти файлы, разархивировать, копировать из всех папок, и переносить в одну. Короче обычная простая работа с файлами, казалось бы, на первый взгляд. Но нет. Скорости этих операций очень низкие. Времени очень много уходит на все эти сортировки.
Все тесты по возможности могу предоставить.
Сразу скажу, что обыденные потребительские SSD/HDD тут не особо выкручивают ситуацию по скоростям. Нужно что-то другое выбирать. Я могу ещё больше мыслей предложить на счёт этой темы, но мне хотелось бы услышать сначала экспертов/энтузиастов/инженеров/сис.админов серверов и т.д.

Прежде чем отвечать, прочитайте весь топик! А также, отвечайте развёрнуто, а не просто "Попробуй что-то".

Отправлено: 09:54, 30-09-2022

 

Аватара для yurfed

Ветеран


Сообщения: 20046
Благодарности: 3123

Профиль | Отправить PM | Цитировать


Цитата quesd:
уж точно никак не ускорит данная программа. »
Впихнуть невпихуемо - расскажите остальным.
Ну или в принципе все варианты рабочие.
Другого решения у меня нет.
Может кто и подскажет.
Быстрое решение я вам предложил.


Цитата quesd:
эти текстовые файлы, потом удалить дубли из них, и объединить в 1 файл. »
Это совсем другая тема

-------
Хочу ли я - Могу ли я - Говно ли я - Магнолия


Отправлено: 00:09, 01-10-2022 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 2597
Благодарности: 247

Профиль | Отправить PM | Цитировать


Цитата quesd:
Если даже и так, то каким образом мне создать базу данных, если у меня в архиве, в разных папках эти txt разбросаны? Мне в любом случае сначала разархивировать архив, потом найти эти текстовые файлы, потом удалить дубли из них, и объединить в 1 файл. »
а зачем?
Если имеет значение только содержание, то алгоритм такой:
открывается файл, строки из него переносятся в базу, последняя - закрывается, открывается следующий и т.д.
Насрать, если будут дубли.
Просто в базе сортируете значения (напр, по возрастанию, не суть), далее простейший цикл "если строка №+1 = строке №, удалить строку №+1".

Профит. Далее играйтесь с этим как угодно.

Цитата quesd:
Про RAM-диски слышали? Я на них намёк веду. »
Вам оптимизировать работу надо, а не ускорить.
Положить водопровод, а не искать сапоги скороходы, чтоб быстрее носить воду вёдрами.

Отправлено: 03:01, 01-10-2022 | #12


Новый участник


Сообщения: 19
Благодарности: 0

Профиль | Отправить PM | Цитировать


@bredych Вы мне сейчас рассказали работу как сделать свой антипаблик с помощью базы данных. Меня такой вариант не устраивает. У меня уже есть самописный софт для таких задач.
Мне просто нужно решение, которое как можно быстрее разархивирует архив, находит файлы, удаляет дубликатные файлы, копирует миллион файлов в другую одну папку, объединяет всё в 1 файл.
И уже этот 1 файл у меня воспринимает и парсит определённые данные. Если что, я создам новую тему, какие ещё есть методы чтобы быстрее парсить данные. Это тоже мне нужно.
Но на данный момент, в приоритете у меня скорее это
Цитата bredych:
искать сапоги скороходы, чтоб быстрее носить воду вёдрами. »

Отправлено: 17:31, 01-10-2022 | #13


Аватара для dmitryst

Ветеран


Сообщения: 7117
Благодарности: 886

Профиль | Отправить PM | Цитировать


Цитата quesd:
какие ещё есть методы чтобы быстрее парсить данные »
парсить большой файл в целом, тяжелее, чем множество мелких. Вполне может быть, что упрётесь в какие-нибудь ограничения. Как вообще парсить собираетесь, хотя бы ЯП какой?

-------
Осваиваю FreeBSD


Отправлено: 18:27, 01-10-2022 | #14


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата dmitryst:
парсить большой файл в целом, тяжелее, чем множество мелких. »
Скажем так: например, число ПИ, записанное в текстовый файл с точностью до 2 миллиардов знаков (по сути, это текстовый файл около 2Гб), в поиске 8 символов, парсится за 4523,2777 миллисекунд до смещения 1816743898 - это тяжелый парсинг?

Цитата quesd:
какие ещё есть методы чтобы быстрее парсить данные. »
С помощью потокового чтения, например парсинг можно ускорить, но в Вашем случае вопрос немного в другом... всё будет упираться в архивацию, копирование множества файлов, а также их последовательное открытие-закрытие (чтение/запись)... при указываемых Вами количествах таких файлов... хмм, даже не знаю, с помощью чего тут можно ускорить процесс...
Ну и собственно, судя по Вашему запросу, задача одноразовая? Тут проще таки воспользоваться какими-то готовыми решениями, пусть даже с немаленькими временными затратами...

-------
scio me nihil scire. Ѫ


Отправлено: 20:40, 01-10-2022 | #15


Новый участник


Сообщения: 19
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата YuS_2:
задача одноразовая? »
В каком плане? Мне очень часто нужно будет сортировать файлы. Сегодня одни файлы, завтра другие и т.д. Тогда ответ нет.
Если же в плане, закинуть архив, распаковать, отсортировать файлы и удалить архив и все эти файлы - то ответ да. Здесь не нужно хранить будет файлы, т.к я один отсортированный файл скачаю к себе на комп.

Цитата YuS_2:
Тут проще таки воспользоваться какими-то готовыми решениями »
Например?

Цитата YuS_2:
число ПИ »
Было бы всё так просто)) Цифры очень легко сортируются, парсятся и т.д. Но если же в текстовом документе спец. символы, буквы на разных языках, цифры - то тут уже гораздо дольше времени уйдёт на сортировку.

Цитата dmitryst:
парсить большой файл в целом, тяжелее, чем множество мелких »
Про что идёт речь? Если про единичный файл - то да, здесь соглашусь. В одном мелком файле, очень мало данных, по сравнению, если все эти мелкие файлы объединить в один большой, и его уже парсить на определённые данные.
Если же речь идёт про архивирование/копирование/перетаскивание - то тут наоборот всё. Один большой файл займёт на все эти операции очень мало времени, по сравнению с миллионами мелких файлов, которые могут растянуться на очень много часов. Ну по крайней мере, это так работает на NTFS. В других ФС я не тестил. Но очень хотелось бы протестировать! Но не знаю с какой ФС начать, и какую выбрать, чтобы гарантированно были максимальные скорости на мелкие файлы!!! Как раз по этому вы и видите этот топик - чтобы ответить на этот вопрос. Ну точнее, один из моих вопросов.

Цитата dmitryst:
Как вообще парсить собираетесь, хотя бы ЯП какой? »
Сейчас у меня есть самописный сортировщик. Делалось на заказ. Написан на C# буквально на коленке. Он требует большой доработки и оптимизации и ускорении работы. Но сейчас вообще нет времени тестировать этот сортировщик на наличие багов, оптимизацию, делать замеры и т.д. По этому и ищу более лёгкие, быстрые, проверенные решения на данную тему!

Отправлено: 01:58, 02-10-2022 | #16


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1171
Благодарности: 487

Профиль | Отправить PM | Цитировать


Цитата quesd:
Мне очень часто нужно будет сортировать файлы. Сегодня одни файлы, завтра другие и т.д. Тогда ответ нет. »
Ну, то бишь задача периодическая? Тогда имеет смысл её автоматизировать... но чтобы её автоматизировать, необходимы не общие пронумерованные вводные, а подробная формулировка, причем с примерами данных...

Цитата quesd:
Например? »
У меня нет примеров... я ведь не понимаю до сих пор смысл задачи...

Цитата quesd:
Цифры очень легко сортируются, парсятся и т.д. Но если же в текстовом документе спец. символы, буквы на разных языках, цифры - то тут уже гораздо дольше времени уйдёт на сортировку. »
Конечно, скорость будет зависеть от объемов данных и от количества файлов (особенно от количества), ну и от, собственно, действий, которые необходимо выполнить с найденными данными, но содержимое, то бишь тип символов, на сам парсинг сильно влиять не будет, для парсера нет разницы какие символы парсить.

-------
scio me nihil scire. Ѫ


Отправлено: 15:10, 02-10-2022 | #17


Ветеран


Сообщения: 2597
Благодарности: 247

Профиль | Отправить PM | Цитировать


Цитата quesd:
Мне очень часто нужно будет сортировать файлы. Сегодня одни файлы, завтра другие и т.д. »
+
Цитата quesd:
Если же в плане, закинуть архив, распаковать, отсортировать файлы и удалить архив и все эти файлы - то ответ да. »
противоречие.
Или однократная задача, или регулярная. И то и другое сразу - не бывает.

Отправлено: 10:09, 05-10-2022 | #18


Забанен


Сообщения: 6345
Благодарности: 1436

Профиль | Цитировать


Цитата quesd:
более 1 миллиона текстовых файлов, весом от 1 до 500 КБ. »
Цитата quesd:
Уж на NTFS + SSD на pcie 4.0 это было примерно полдня (8-10 часов). »
Предположим, средний размер 250 КБ, миллион таких файлов это довольно скромные 250 гигабайт... не то что бы с таким объёмом данных легко работать, но ничего особенного... у вас лыжи не едут. И смазывай их или не смазывай - в смысле переходи на супер-пупер быстрый сторедж - они быстрее не поедут. Нужно пересаживаться с лыж на то-то более подходящее.

Отправлено: 17:46, 05-10-2022 | #19


Аватара для sputnikk

Ветеран


Сообщения: 3694
Благодарности: 513

Профиль | Отправить PM | Цитировать


Цитата quesd:
SSD на pcie 4.0 »
Какая модель? Если с 2-канальным контроллером и без буфера DDR, то будет чуть быстрее SATA

-------
Win 7SP1 MSDN +ESU/Embedded. Адресовано любителям переставлять Windows: СИФИЛИС ампутацией не лечат. ИМХО.


Отправлено: 18:50, 05-10-2022 | #20



Компьютерный форум OSzone.net » Железо » Накопители (SSD, HDD, USB Flash) » Разное - Нужно выбрать лучшее решение по скорости мелких файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Android - выбрать лучшее приложение для блокировки смс спама гест Мобильные ОС, смартфоны и планшеты 2 21-12-2017 22:03
HDD - Файловая система для мелких и средних файлов klever Накопители (SSD, HDD, USB Flash) 13 01-12-2012 21:47
Звук - Помогите выбрать решение по колонкам Work700 Прочее железо 3 21-04-2009 01:34
USB под Windows XP - медленное удаление мелких файлов rkw Накопители (SSD, HDD, USB Flash) 4 09-04-2009 22:58
Лучшее решение для P IV 2.8 HT alibaster Видеокарты 11 26-12-2007 12:48




 
Переход