- Регистрация
- 19.06.2017
- Сообщения
- 50
- Благодарностей
- 10
- Баллы
- 8
Есть таблица с десятками тысяч строк, из которой нужно как можно быстрее достать строку с определенными данными
Для ускорения парсинга решил попробовать реализовать бинарный поиск
Логика будет такая:
1. Берем 1ую букву из текста, который нужно найти
2. Получаем индекс этой буквы в таблице ASCII
3. Берем 1ую букву текста, находящегося в середине таблицы
4. Получаем индекс этой буквы в таблице ASCII
4. Сравниваем индексы, если индекс нужной буквы меньше индекса буквы из середины таблицы, значит вся верхняя часть отрезается и парсинг продолжается с нижней частью, и все начинается с 1го пункта, соответственно если индекс больше, тогда отрезается нижняя часть
В зено есть встроенный метод, которым можно получить индекс определенного символа в таблице ASCII?
Если нет, тогда придется вручную добавить ASCII таблицу в шаблон
Кто нибудь пытался реализовать такой поиск, получится ли заметно ускорить парсинг или в этом нет смысла?
Для ускорения парсинга решил попробовать реализовать бинарный поиск
Логика будет такая:
1. Берем 1ую букву из текста, который нужно найти
2. Получаем индекс этой буквы в таблице ASCII
3. Берем 1ую букву текста, находящегося в середине таблицы
4. Получаем индекс этой буквы в таблице ASCII
4. Сравниваем индексы, если индекс нужной буквы меньше индекса буквы из середины таблицы, значит вся верхняя часть отрезается и парсинг продолжается с нижней частью, и все начинается с 1го пункта, соответственно если индекс больше, тогда отрезается нижняя часть
В зено есть встроенный метод, которым можно получить индекс определенного символа в таблице ASCII?
Если нет, тогда придется вручную добавить ASCII таблицу в шаблон
Кто нибудь пытался реализовать такой поиск, получится ли заметно ускорить парсинг или в этом нет смысла?