Как бы вы реализовали такую ​​функциональность, как «быстрый поиск» в Thunderbird? - PullRequest
2 голосов
/ 14 февраля 2011

Известный почтовый клиент Mozilla Thunderbird имеет панель поиска, которая называется «фильтровать эти сообщения». Он позволяет пользователю быстро фильтровать сообщения, отображая только те, чей заголовок, отправитель или получатели содержат слова, которые вводит пользователь.

Как бы вы реализовали такую ​​функциональность, учитывая, что она должна быть максимально быстрой даже при отображении множества сообщений? Следует ли использовать предварительно вычисленный индекс или подобную структуру данных? Или просто перебирать сообщения?

1 Ответ

1 голос
/ 14 февраля 2011

Прелесть программного обеспечения с открытым исходным кодом в том, что вы можете видеть исходный код :).Вы даже можете просмотреть исходный код онлайн:

Будьте очень осторожнымии хорошо играют , когда вы смотрите на исходный код Mozilla!Было бы очень грубо, если вы нарушили их лицензирование.

Сначала я бы начал с прямого поиска, а если производительность недостаточна, я постараюсь найти способ улучшить ее.Если вы действительно ограничены в производительности, то, возможно, попробуйте реализовать некоторые из структур данных, используемых Google .

...