Команда ./psearch [keys] pattern [keys] directory [keys]
ищет вхождения шаблона pattern
в файлы директории directory
и глубже в несколько потоков.
-n
- искать вхождения только в текущей директории.
-t#
- искать вхождения в # потоков.
По умолчанию вхождения ищутся в текущей директории и глубже в один поток.
g++ psearch.cpp -lpthread -o psearch
- стандартная компиляция
g++ -fsanitize=address psearch.cpp -lp_thread -o psearch_fsanitize
- компиляция с -fsanitize=address
valgrind ./psearch [keys] pattern [keys] directory [keys]
- запуск под valgrind
На сравнительно небольшом наборе данных:
Input: time ./psearch int /usr/include -t1 -n
Output: real 0m0,361s user 0m0,298s sys 0m0,035s
Input: time ./psearch int /usr/include -t4 -n
Output: real 0m0,266s user 0m0,300s sys 0m0,091s
На сравнительно большом наборе данных:
Input: time ./psearch pop /usr/include -t1
Output: real 0m7,221s user 0m6,997s sys 0m0,169s
Input: time ./psearch int /usr/include -t4
Output: real 0m2,411s user 0m7,062s sys 0m0,173s