powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Быстрый парсер текста
65 сообщений из 65, показаны все 3 страниц
Быстрый парсер текста
    #40007027
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ко мне на сервер приходят текстовые сообщения по сети. И мне по определенному шаблону нужно вытаскивать ФИО из них. Какие способы посоветуете?

Пример сообщения:

Покупатель совершил платеж 1000 р. ФИО = "Петров Иван Фёдорович"
Произошел возврат покупки id#1000231 ФИО = "Петров Иван Фёдорович" дата возврата = 21.09.2020

Можно через регулярные выражения, можно через pos

Вот если таких сообщений миллионы? Если важна скорость обработки?
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007028
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас придет Оптимизатор.
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007030
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
09.10.2020 16:53, cptngrb пишет:
>
> Какие способы посоветуете?

возьми стандартный TParser за основу и допили напильником.
он однопроходный и способен работать с потоками и буферами.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007031
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
И мне по определенному шаблону нужно вытаскивать ФИО из них.

Про шаблон уже что-то известно или он еще не определен?
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007033
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,
пока нет
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007035
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
известно, что длина сообщения не больше 300 символов
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007038
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
09.10.2020 17:24, cptngrb пишет:
>
> известно, что длина сообщения не больше 300 символов

тогда чо ты паришься?!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007047
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,
еще раз, как быстрее это делать?
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007048
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
09.10.2020 17:46, cptngrb пишет:
> еще раз, как быстрее это делать?

чо ты ЗАРАНЕЕ паришься?!
на таких объёмах практически пофиг.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007049
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrbкак быстрее это делать?

С твоими объёмами - как угодно, pos сойдёт. Репу будешь чесать если сервер упрётся в
загрузку CPU.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007051
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. KISS
2. Premature optimization is the root of all evil.

Определись с данными, возьми Pos, проверь скорость, сравни с ожидаемой нагрузкой...
А потом делай выводы
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007147
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
wadman,
пока нет

То есть нужно найти решение задачи, условий для которой нет.

Эпик.
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007218
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,
Я спросил про подход. Не знал, что это так сложно.
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007219
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,

Из Delphi-библиотек самая быстрая это CachedTexts (сейчас входит в состав Tiny.Library)
Но в целом согласен. Действительно ли нужна производительность
Я работал с большими объёмами, там нужна была производительность. Нужна ли в твоём случае - вопрос
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007241
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU, мне нужна. Конкретные данные я показать не могу, но смысл понятен. Есть сообщение. В нем в определенном порядке идет ФИО, дата/время и стоимость. Их мне надо вытянуть. В потоках всякие inttostr не очень хорошо работают. При парсинге у меня куча строк, которые потом нужно переводить в число, дату. StrToDate тоже тяжелая функция, EncodeDate уже лучше
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007243
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrbStrToDate тоже тяжелая функция

Эй, в первом сообщении ты на полном серьёзе рассматривал регэкспы, а тут вдруг StrToDate,
оказывается, "тяжёлая"...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007244
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
В потоках всякие inttostr не очень хорошо работают.

Ну так возьми ММ с поддержкой многопоточности. FastMM5, например.
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007249
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,

А там как раз идея в том, чтобы отказаться от менеджера памяти
Ты скармливаешь кусок данных, они кешируется, и дальше работаешь со строками, ссылаясь на имеющийся буфер
Как раз там делается StrToInt, StrToDate и т.д.
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007410
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
Можно через регулярные выражения


DiRegExp довольно быстрая библиотека
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007412
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11, TPerlRegExp (на базе нее TRegExp) тоже быстрая, как показали тесты, времени уходит больше не на сам парсинг, а на преобразование строк к конкретным типам данных (числа, даты). А так как сообщение - это массив байт, то мне оказалось намного быстрее работать непосредственно с байтами, чем сообщение приводить к строке -> поиск в строке -> перевод подстрок к типам данных.
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007560
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,

если уж совсем позарез, то надо лексер генерить - тынц

там как раз регулярки, лексергенератор закомпилит их в табличку переходов, и работать это будет железно
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007563
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

И меня здесь упрекают в том, что слишком усложняю решение )
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007564
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU,

оно как бы не сложно при определённом опыте, вопрос надо ли "будить дракона"

многие же жалуются, что знания из универа им в жизни не понадобились, хороший повод вспомнить :-)
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007566
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

Я конечно не уверен на 100%, но мне кажется решение на основе CachedTexts будет быстрее лексера, не смотря на то, что лексер в теории может быть очень быстр
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007568
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU,

O(N^2) в ХУДШАЙШЕМ случае, но это надо ОЧЕНЬ-ОЧЕНЬ постараться - такой вариант даже придумывать долго, а в целом около O(N)
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007588
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

Теоретически, теория и практика не различаются, но на практике, теория и практика различаются
Теоретически хорошая концепция убьётся об рутину менеджмента памяти, тем более на многопоточных приложениях )
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007619
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно у mORMot посмотреть, они здорово заморачиваются насчет скорости
https://raw.githubusercontent.com/synopse/mORMot/master/SynCommons.pas
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007625
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fr0sT-Brutal,

какая к черту "скорость", если автор ничего не знает ни о требованиях, ни о реальных входных объемах.
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007632
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ, если я их не говорю, не значит, что я их не знаю.

я спросил ровно то, что хотел спросил. решение нашел.

synopse молодцы

основная мысль - меньше строк в потоках.
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007635
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насчет скорости/производительности. 5 потоков парсинга при работе с сообщением как с текстом не поднимали загрузку CPU больше 30% и не успевали разбирать, а при работе с сообщением как с массивом байт загрузка CPU 55% и успевают.
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007636
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb,

Здесь не очень жалуют оптимизаторов. Заходи на Delphi Community в телеге - там больше возможностей дать тебе оперативный ответ по оптимизациям
Кстати скоро будет очередной релиз Tiny.Library - там отпишу
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007637
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
kealon(Ruslan),

Теоретически, теория и практика не различаются, но на практике, теория и практика различаются
Теоретически хорошая концепция убьётся об рутину менеджмента памяти, тем более на многопоточных приложениях )
не, практически всегда всё убивается в интерфейсе между креслом и монитором - лексер всего лишь выдаёт интервалы лексем в строке и их тип.
а всё что с этим уже делается, к оценке не относится
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007639
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

Да ладно
Давай устроим батл
Ты будешь выдавать строки, а я задействую CachedTexts )
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007644
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU,

зачем выдавать строки? ты же с лексером сравниваться хочешь, он тип лексем выдаёт
все pas-файлы с папки "C:\Program Files (x86)\Embarcadero\Studio\*\source\"
у меня даже готовое где-то было, а то это у тебя времени много

хотя мне кажется с лексером всё упрётся в чтение диска
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007647
cptngrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU, среди кучи говна в ответах часто встречаются стоящие советы
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007648
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

А лексемы не используют строки?
Кстати по поводу диска. Судя по описанию, документы приходят по сети, значит можно замерять чтение из памяти
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007655
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
kealon(Ruslan),

А лексемы не используют строки?
Кстати по поводу диска. Судя по описанию, документы приходят по сети, значит можно замерять чтение из памяти
ты такие вопросы задаёшь, сам смотри, классический вариант функции лексера тынц
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007662
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

Это прекрасно всё
Только как ты будешь обрабатывать даты, числа, ФИО?
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007669
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
kealon(Ruslan),

Это прекрасно всё
Только как ты будешь обрабатывать даты, числа, ФИО?
я никак, это же не функции лексера

его функция - выделить "слова", а что ты там с ними будешь делать, это уже другой вопрос
хоть те же функции из mORMot возьми для обработки
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007675
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

Вопрос тот же
Давай с тебя лексер + mORMot
С меня CachedTexts :)
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007680
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
kealon(Ruslan),

Вопрос тот же
Давай с тебя лексер + mORMot
С меня CachedTexts :)
ты какого-то сферического коня загонять собрался
что конкретно ты собрался парсить?
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007686
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

У автора можно взять тестовые данные
Документов 10 загнать в память и пропарсить 100500 раз
Из разных потоков
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007688
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> У автора можно взять тестовые данные
он прям разбежался
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007689
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгений,

Пусть тестовый пример зафигачит с несколькими потоками
Ему же нужен быстрый парсер
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007690
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUЕму же нужен быстрый парсер

Он думает, что ему нужен быстрый парсер, но, скорее всего, он ошибается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007692
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Судя по этому 22212530 нужен
Ну и даже если не нужен, программерские батлы, если по результату появляются новые знания - хороши
Это нормально иногда мериться письками
Программерскими )
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007694
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
12.10.2020 13:07, Dimitry Sibiryakov пишет:
> Он думает, что ему нужен быстрый парсер, но, скорее всего, он ошибается.

я восхищен!
так культурно и завуалировано дать понять, что КГ/АМ...
я б так не смог
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007733
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cptngrb
насчет скорости/производительности. 5 потоков парсинга при работе с сообщением как с текстом не поднимали загрузку CPU больше 30% и не успевали разбирать, а при работе с сообщением как с массивом байт загрузка CPU 55% и успевают.
это менеджер памяти так себя проявляет
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007742
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я рад за пропускную способность сетки ТСа)) так накидывать данные, что парсер загинается. По-ходу системы видеонаблюдений отдыхают))
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007749
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cptngrb
основная мысль - меньше строк в потоках.

Да, т.к. это основной perf-киллер. Выделить строку, заполнить, помацать счетчик ссылок через блокировку, удалить строку... парсинг по месту конечно быстрее будет
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007757
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
cptngrb
основная мысль - меньше строк в потоках.

Да, т.к. это основной perf-киллер. Выделить строку, заполнить, помацать счетчик ссылок через блокировку, удалить строку... парсинг по месту конечно быстрее будет


Ситуация усугубилась с распространением многопоточности и серверной обработки
Причём документы могут быть небольшие, но их будет тонна )
Кто знает, может быть дойдут руки - напишу парсер JSON и/или XML
По крайней мере идея есть вообще бомбическая - задействовать thread var и стековую память - то есть вообще отказаться от синхронизации на куче

TTinyObject уже позволяет не только конструироваться в стековой памяти, но и резервировать память под рабочие буферы
Пока просто необходимости в этом не было )
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007763
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal
Да, т.к. это основной perf-киллер.

Однопоточный ММ, на самом деле.
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007764
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUСитуация усугубилась с распространением многопоточности и серверной обработки

ситуация усугубилась с распространением "программистов", не представляющих объём работы,
выполняемый каждой из написанных ими строчек.

SOFT FOR YOUПо крайней мере идея есть вообще бомбическая - задействовать thread var и стековую память
- то есть вообще отказаться от синхронизации на куче

Давно реализовано во всех менеджерах памяти, включая системный линухов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007765
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey,

FastMM, даже 5 - аналогично работает через синхронизацию
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007767
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

ситуация усугубилась с распространением "программистов", не представляющих объём работы,
выполняемый каждой из написанных ими строчек.


Так их всегда было много

Dimitry Sibiryakov

Давно реализовано во всех менеджерах памяти, включая системный линухов.


Мне кажется ты не понял суть
Менеджер памяти - куча
Для Delphi неблокирующий только ScaleMM. И BrainMM, до которого всё руки не дойдут
Даже в этом случае менеджмент накладывает существенный оверхед
Полный парсинг и конструирование через память на стеке и thread var - это совсем другое дело
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007774
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUМне кажется ты не понял суть
Менеджер памяти - куча

Современный менеджер памяти - несколько куч по числу потоков/ядер.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007775
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

SOFT FOR YOU
Для Delphi неблокирующий только ScaleMM. И BrainMM, до которого всё руки не дойдут
Даже в этом случае менеджмент накладывает существенный оверхед
Полный парсинг и конструирование через память на стеке и thread var - это совсем другое дело
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007959
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU,

нафиг конструирование,

а вот специальный SAX-парсер, только определяющий начало и конец данных, - это, да, другое дело )
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007962
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov,

Честно говоря, не понял, о чём мессейдж )

Конструирование нужно потому, что конструирование обычно в куче. Можно ухищряться, делать пул объектов. А можно выделить нужное количество памяти на стеке. Или в thread var буфере
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007964
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
Aleksandr Sharahov,

Честно говоря, не понял, о чём мессейдж )

Конструирование нужно потому, что конструирование обычно в куче. Можно ухищряться, делать пул объектов. А можно выделить нужное количество памяти на стеке. Или в thread var буфере


Речь о том, что для работы с данными строки сама строка не нужна,
нужны лишь ее данные, которые и так уже доступны в тексте, который мы парсим.

Ну, если ты понял, о чем я )
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007980
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksandr Sharahov,
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007983
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov,

На этой концепции и строится CachedTexts
Фишка в том, что ты не просто работаешь с памятью, у тебя есть ещё "строки", представляющие из себя пару <указатель,длина>, и поверх этих строк есть куча быстрых функций, перевода в число, дату, Trim, поиск символа или подстроки, в том числе без учёта регистра

А конструирование нужно потому, что свой парсер поверх этой концепции нужно наследовать от класса. И конвертация кодировки, в случае необходимости, так же происходит в классе
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40007997
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU
... А конструирование нужно потому ...


самый быстрый этап обработки - тот, которого нет
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40008045
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov,

В теории да
На практике удобно, когда есть некий класс парсера
Который в случае необходимости конвертнёт исходную кодировку в ту, которую ты ожидаешь, позаботится о буферзации если ты парсишь гигабайтные тексты

Разумеется. Просто в данном контексте подход на основе наследуемых классов и конструирование на стеке/TLS - весьма эффективный подход
...
Рейтинг: 0 / 0
Быстрый парсер текста
    #40008060
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SOFT FOR YOU,

не упорствуй, отрок.
...
Рейтинг: 0 / 0
65 сообщений из 65, показаны все 3 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Быстрый парсер текста
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]