Всем привет! У меня имеется массив на 15000 строк, который обрабатывается циклом. Сам код уже (практически) максимально оптимизировал и дальнейшая оптимизация отожрет больше времени, нежели будет полученный прирост. На текущий момент код выполняется примерно 4-5 часов, что недопустимо долго. Появилась идея разбить массив на 10 массивов поменьше и запустить одновременную обработку во всех массивах, но как реализовать — не могу додуматься...
Буду признателен!
Всем привет! У меня имеется массив на 15000 строк, который обрабатывается циклом. Сам код уже (практически) максимально оптимизировал и дальнейшая оптимизация отожрет больше времени, нежели будет полученный прирост. На текущий момент код выполняется примерно 4-5 часов, что недопустимо долго. Появилась идея разбить массив на 10 массивов поменьше и запустить одновременную обработку во всех массивах, но как реализовать — не могу додуматься...
Текущий код ссылается на огромное количество внутренних ресурсов, соответственно - не сработает. Накидал примерный тест, что хочется получить в итоге: столкнулся с еще одной проблемой - не передается массив в функцию.Зачеркнуто администрацией
Файл прикладываю.
Апострофф, Добрый день!
Текущий код ссылается на огромное количество внутренних ресурсов, соответственно - не сработает. Накидал примерный тест, что хочется получить в итоге: столкнулся с еще одной проблемой - не передается массив в функцию.Зачеркнуто администрацией
akobir, вы бы все же приложили "оптимизированный" код на суд публики, т.к. то, что в примере даже не понятно что делает... хотя, в том, что написано, тоже можно оптимизировать
akobir, вы бы все же приложили "оптимизированный" код на суд публики, т.к. то, что в примере даже не понятно что делает... хотя, в том, что написано, тоже можно оптимизировать
Но рекорд ТС пока не побит - даже на Rows.Count отработало за жалкие 10 минут... Не, ну если всё включить и переносить посимвольно, то может и удастся...
Но рекорд ТС пока не побит - даже на Rows.Count отработало за жалкие 10 минут... Не, ну если всё включить и переносить посимвольно, то может и удастся...StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Всем привет. Пример кода был дан для того, чтобы понять, можно ли все, что в цикле, запускать параллельно, а не последовательно. Сам код на три модуля и тысячу, примерно, строк. Он обращается к блокнотам и ищет в них определенные куски текста. Не скидывал его изначально — потому что вряд ли у кого-то есть время/желание разбирать тонну чужого кода, как мне казалось.
Всем привет. Пример кода был дан для того, чтобы понять, можно ли все, что в цикле, запускать параллельно, а не последовательно. Сам код на три модуля и тысячу, примерно, строк. Он обращается к блокнотам и ищет в них определенные куски текста. Не скидывал его изначально — потому что вряд ли у кого-то есть время/желание разбирать тонну чужого кода, как мне казалось. akobir
akobir, это получается, что все Ваши текстовики могут весить до нескольких сотен гигобайт (в зависимости от используемой кодировки и количества символов в строке). С учётом количества текстовиков, предполагаю, что наиболее выгодным будет переходить на бинарники... Вы не проверяли, мб само обращение в цикле к текстовым файлам создаёт занимает такое большое количество времени? Если нет, можно пробовать оптимизировать сам парсинг...
akobir, это получается, что все Ваши текстовики могут весить до нескольких сотен гигобайт (в зависимости от используемой кодировки и количества символов в строке). С учётом количества текстовиков, предполагаю, что наиболее выгодным будет переходить на бинарники... Вы не проверяли, мб само обращение в цикле к текстовым файлам создаёт занимает такое большое количество времени? Если нет, можно пробовать оптимизировать сам парсинг...Roman777
Много чего не знаю!!!!
Сообщение отредактировал Roman777 - Среда, 05.12.2018, 09:32
Каждый текстовый файл содержит от 80 до 200 тысяч строк.
уверен, что вы не все строки с него берете, а что-то ищете в нем определенное. Возможно здесь и будет оптимизация. например через использование языка запросов SQL
Каждый текстовый файл содержит от 80 до 200 тысяч строк.
уверен, что вы не все строки с него берете, а что-то ищете в нем определенное. Возможно здесь и будет оптимизация. например через использование языка запросов SQLboa
Возможно здесь и будет оптимизация. например через использование языка запросов SQL
Ну или покурить про File System Object, он, кажется, умеет всё, что можно через интерфейс Проводника. В том числе вернуть список файлов, в которых встречается заданная строка.
Возможно здесь и будет оптимизация. например через использование языка запросов SQL
Ну или покурить про File System Object, он, кажется, умеет всё, что можно через интерфейс Проводника. В том числе вернуть список файлов, в которых встречается заданная строка.StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.