Поисковый движок по локальным файлам(продвинутый аналог grep)
Искать подстроки текста разными способами за O(n) без предварительной индексации. Особенности:
- 2 режима, точный поиск и поиск по синонимам
- Поддержка wildcards в точном поиске
- Поддержка синонимического поиска при помощи морфологического анализа и дерева синонимов с сохранением O(n) сложности поиска
- ICU для независимости от кодировки входного файла
- Поддержка текстовых документов, docx, pdf и оптического распознавания текста для pdf
- Скачать архив RIF.rar последнего релиза
- Разархивировать его в C:/
- Запустить RIF.exe в C:/RIF/RIF.exe
- Язык: C++23
- std::generator для ленивого чтения docx файлов
- Алгоритмы для умного поиска
- Многопоточность
| Потоки | Время (мс) | Скорость (МБ/с) | Ускорение (Scaling) |
|--------|------------|-----------------|---------------------|
| 1 | 315 мс | 107 МБ/с | 1.0x |
| 5 | 64 мс | 528 МБ/с | 4.9x |
| 10 | 45 мс | 751 МБ/с | 7x |
| Потоки | Время (мс) | Скорость (МБ/с) | Ускорение (Scaling) |
|--------|------------|-----------------|---------------------|
| 1 | 671 мс | 50 МБ/с | 1.0x |
| 5 | 160 мс | 211 МБ/с | 4.2x |
| 10 | 119 мс | 284 МБ/с | 5.6x |
Core & System
Graphical User Interface (GUI)
- Dear ImGui — Bloat-free Graphical User interface for C++.
- GLFW — A multi-platform library for OpenGL, Window and Input.
- Native File Dialog (NFD) — A tiny cross-platform native file dialog library.
- FreeType — A freely available software library to render fonts.
- HarfBuzz — A software library for shaping Unicode text.
OCR & Document Processing
- Tesseract OCR — Open source Optical Character Recognition (OCR) Engine.
- Leptonica — An open source library for image processing and image analysis applications.
- MuPDF — A lightweight PDF, XPS, and E-book viewer.
- Gumbo Parser — An HTML5 parsing library in pure C.
Image Formats
- OpenJPEG — An open-source JPEG 2000 codec.
- libjpeg-turbo — A JPEG image codec that uses SIMD instructions to accelerate baseline JPEG compression and decompression.
- jbig2dec — A decoder library for the JBIG2 image compression format.