Я работаю над «поисковым» проектом. Основная идея заключается в том, как создать индекс, чтобы ответить на поисковый запрос как можно быстрее. Входные данные — это запрос, такой как «termi termj», а выходной — это документы, в которых появляются термины и termj.
индексный файл выглядит следующим образом: (каждая строка называется postlist, который представляет собой отсортированный массив unsigned int и может быть сжат с хорошей степенью сжатия)
term1:doc1, doc5, doc8, doc10
term2:doc10, doc51, doc111, doc10000
...
termN:doc2, doc4, doc10
3 основных времени возобновления процедуры
Мой вопрос: как я могу узнать, что приложение не может быть более эффективным, оно имеет узкое место дискового ввода-вывода? Как я могу измерить, если мой компьютер использовал его диск 100 процентов? Есть ли какие-нибудь инструменты на Linux, чтобы помочь? Есть ли какие-то инструменты, которые могут измерить дисковый ввод / вывод как Google Cpu Profiler можно измерить процессор?
Моя развивающая среда — Ubuntu 14.04.
CPU: 8 cores 2.6GHz
disk: SSD
benchmark now is about 2000 queries/second, but I don't know how to improve it.
Любое предложение будет оценено! Большое спасибо!
Задача ещё не решена.
Других решений пока нет …