Выбрать главу

Поиск заданных комбинаций символов

Тестирование производительности путем выполнения поиска определенных текстовых шаблонов в содержимом файлов производилось с использованием трех различных методов, что позволило оценить сравнительную эффективность многопоточного и многопроцессного режимов, а также простой последовательной обработки файлов (см. табл. В.З).

1. Программа grepMP (программа 6.1) использует параллельные процессы, каждый из которых обрабатывает отдельный файл. Результаты измерений системного и пользовательского времени не приводятся, поскольку программа timep позволяет хронометрировать лишь родительские процессы.

2. Программа grepMT (программа 7.1) использует параллельные потоки.

3. Программа grepSQ — это пакетный файл DOS, обеспечивающий выполнение поиска шаблонов по очереди в каждом из файлов. В этом случае также приводятся только результаты, относящиеся к реальному времени.

В этом тесте использовались 20 файлов с размерами в пределах от нескольких Кбайт до 1 Мбайт.

Комментарии

1. В большинстве случаев все три методики приводят к близким результатам на однопроцессорных системах. Исключением является лэптоп с процессором Pentium, для которого версия grepMP систематически оказывалась самой медленной.

2. Многопоточный режим обладает лишь незначительными преимуществами по сравнению с многопроцессным даже на однопроцессорных системах.

3. Показатели пользовательского и системного времени имеют ощутимо заметные значения лишь в случае многопоточных версий

4. SMP-системы демонстрируют выигрыш в производительности, который достигается и при использовании многопоточного режима или нескольких однопоточных процессов. Заметьте, что общее пользовательское время превышает реальное время, поскольку характеризует одновременно все четыре процесса.

5. Тот факт, что последовательная обработка файлов приводит на однопроцессорных системам к аналогичным результатам, говорит о том, что простейшее решение нередко оказывается и самым лучшим.

Таблица В.З. Показатели производительности программ поисказаданных комбинаций символов

ЦП Pentium LT Celeron LT Xeon 4×Xeon ОС W2000 XP W2000 W2000 Файловая система NTFS NTFS NTFS NTFS grepMP Реальное время 14,72 3,95 10,58 0,63 Пользовательское время - - - - Системное время - - - - grepMT Реальное время 7,08 3,61 8,09 0,73 Пользовательское время 0,30 0,41 0,27 2,23 Системное время 0,09 0,47 0,13 0,28 grepSQ Реальное время 6,71 3,86 6,71 0,97 Пользовательское время - - - - Системное время - - - -