|
0 / 0 / 0
Регистрация: 05.05.2010
Сообщений: 6
|
|
Статистика вхождения слов в массиве файлов (~50Gb)06.08.2010, 20:33. Показов 911. Ответов 4
Метки нет (Все метки)
Есть задача: собрать статистику вхождения слов в массиве файлов (~50Gb) с использованием библиотеки X (синтаксический анализатор). Библиотека X написана не идеально, но доступных её аналогов нет. Библиотека X может выкидывать segmentation fault в зависимости от обрабатываемого файла, т.е. её код не стабилен в 100% случаев.
Напрашивается решение: написать менеджер процессов, запускающий обработку каждого файла в отдельном процессе для изоляции от segmentation fault и складывающий результат в shared memory. Главный процесс, он же менеджер рабочих процессов, по окончании обработки файлов сохраняет результаты на диск. Вопрос: Есть ли какие-то готовые решения для данной задачи. Может быть библиотека или фреймворк?
0
|
|
| 06.08.2010, 20:33 | |
|
Ответы с готовыми решениями:
4
Вывести заданную последовательность слов, но удалив из неё повторные вхождения слов
Вывести заданную последовательность слов, удалив из неё повторные вхождения слов |
| 07.08.2010, 12:35 | |
|
Не по теме: нииииичего не понял...
0
|
|
|
0 / 0 / 0
Регистрация: 05.05.2010
Сообщений: 6
|
||
| 07.08.2010, 16:37 [ТС] | ||
|
Существуют ли какие-то готовые решения на с++ (фреймворки, библиотеки) для параллельного запуска определяемой пользователем функции в виде изолированных процессов? Т.е. программист определяет список задач, назначает функцию для обработки каждой задачи и далее это дело передает фреймворку, который каждую задачу обрабатывает с помощью заданной функции в изолированном процессе (proccess, не thread).
0
|
||
|
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
|
|
| 07.08.2010, 20:59 | |
|
То есть ты думаешь если библиотека не упала в segfault, то она и считает правильно ?
Я бы не полагался на кривой код.
0
|
|
|
0 / 0 / 0
Регистрация: 05.05.2010
Сообщений: 6
|
||
| 07.08.2010, 21:12 [ТС] | ||
|
И библиотека как раз таки вылетает на segfault в зависимости от набора входных данных. Благо что бывает это довольно редко. На моем самопальном решении задачи из сабжа количество segfault ~2%, что лично меня устраивает. Но т.к. segfalut возникает внезапно, то хочется как-то застраховаться - чтобы приложение не валилось все целиком из-за одного файла а продолжало обработку. Оставил комп на несколько суток работать - и ушел, не думаю о том что там где-то сегфолт вылетит на одном файле. Для сбора статистики этого подхода более чем достаточно Добавлено через 7 минут Вообще, решение данной задачи подходит под два паттерна: MapReduce и Fork/Join - но то ли я гуглить не умею, то ли доступных решений для С++ не нашел. Да, надо сказать что MapReduce фреймворки в основном рассчитаны на кластер машин, а не на одну.
0
|
||
| 07.08.2010, 21:12 | |
|
Помогаю со студенческими работами здесь
5
Напечатать эту же последовательность слов, но удалив из нее повторные вхождения слов Выведите последовательность слов, удалив из нее повторные вхождения слов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|