|
|
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Ко мне на сервер приходят текстовые сообщения по сети. И мне по определенному шаблону нужно вытаскивать ФИО из них. Какие способы посоветуете? Пример сообщения: Покупатель совершил платеж 1000 р. ФИО = "Петров Иван Фёдорович" Произошел возврат покупки id#1000231 ФИО = "Петров Иван Фёдорович" дата возврата = 21.09.2020 Можно через регулярные выражения, можно через pos Вот если таких сообщений миллионы? Если важна скорость обработки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2020, 16:53 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Сейчас придет Оптимизатор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2020, 16:55 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
09.10.2020 16:53, cptngrb пишет: > > Какие способы посоветуете? возьми стандартный TParser за основу и допили напильником. он однопроходный и способен работать с потоками и буферами. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2020, 17:10 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
cptngrb И мне по определенному шаблону нужно вытаскивать ФИО из них. Про шаблон уже что-то известно или он еще не определен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2020, 17:14 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
wadman, пока нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2020, 17:20 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
известно, что длина сообщения не больше 300 символов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2020, 17:24 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
09.10.2020 17:24, cptngrb пишет: > > известно, что длина сообщения не больше 300 символов тогда чо ты паришься?! Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2020, 17:27 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, еще раз, как быстрее это делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2020, 17:46 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
09.10.2020 17:46, cptngrb пишет: > еще раз, как быстрее это делать? чо ты ЗАРАНЕЕ паришься?! на таких объёмах практически пофиг. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2020, 17:47 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
cptngrbкак быстрее это делать? С твоими объёмами - как угодно, pos сойдёт. Репу будешь чесать если сервер упрётся в загрузку CPU. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2020, 17:48 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
1. KISS 2. Premature optimization is the root of all evil. Определись с данными, возьми Pos, проверь скорость, сравни с ожидаемой нагрузкой... А потом делай выводы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2020, 17:52 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
cptngrb wadman, пока нет То есть нужно найти решение задачи, условий для которой нет. Эпик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2020, 22:00 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
wadman, Я спросил про подход. Не знал, что это так сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2020, 11:08 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
cptngrb, Из Delphi-библиотек самая быстрая это CachedTexts (сейчас входит в состав Tiny.Library) Но в целом согласен. Действительно ли нужна производительность Я работал с большими объёмами, там нужна была производительность. Нужна ли в твоём случае - вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2020, 11:23 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, мне нужна. Конкретные данные я показать не могу, но смысл понятен. Есть сообщение. В нем в определенном порядке идет ФИО, дата/время и стоимость. Их мне надо вытянуть. В потоках всякие inttostr не очень хорошо работают. При парсинге у меня куча строк, которые потом нужно переводить в число, дату. StrToDate тоже тяжелая функция, EncodeDate уже лучше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2020, 13:52 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
cptngrbStrToDate тоже тяжелая функция Эй, в первом сообщении ты на полном серьёзе рассматривал регэкспы, а тут вдруг StrToDate, оказывается, "тяжёлая"... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2020, 13:56 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
cptngrb В потоках всякие inttostr не очень хорошо работают. Ну так возьми ММ с поддержкой многопоточности. FastMM5, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2020, 13:58 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
cptngrb, А там как раз идея в том, чтобы отказаться от менеджера памяти Ты скармливаешь кусок данных, они кешируется, и дальше работаешь со строками, ссылаясь на имеющийся буфер Как раз там делается StrToInt, StrToDate и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2020, 15:05 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
cptngrb Можно через регулярные выражения DiRegExp довольно быстрая библиотека ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 11:57 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
X11, TPerlRegExp (на базе нее TRegExp) тоже быстрая, как показали тесты, времени уходит больше не на сам парсинг, а на преобразование строк к конкретным типам данных (числа, даты). А так как сообщение - это массив байт, то мне оказалось намного быстрее работать непосредственно с байтами, чем сообщение приводить к строке -> поиск в строке -> перевод подстрок к типам данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2020, 12:01 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
cptngrb, если уж совсем позарез, то надо лексер генерить - тынц там как раз регулярки, лексергенератор закомпилит их в табличку переходов, и работать это будет железно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 07:46 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), И меня здесь упрекают в том, что слишком усложняю решение ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 07:52 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, оно как бы не сложно при определённом опыте, вопрос надо ли "будить дракона" многие же жалуются, что знания из универа им в жизни не понадобились, хороший повод вспомнить :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 07:59 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), Я конечно не уверен на 100%, но мне кажется решение на основе CachedTexts будет быстрее лексера, не смотря на то, что лексер в теории может быть очень быстр ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 08:02 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, O(N^2) в ХУДШАЙШЕМ случае, но это надо ОЧЕНЬ-ОЧЕНЬ постараться - такой вариант даже придумывать долго, а в целом около O(N) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 08:13 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), Теоретически, теория и практика не различаются, но на практике, теория и практика различаются Теоретически хорошая концепция убьётся об рутину менеджмента памяти, тем более на многопоточных приложениях ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 09:32 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Можно у mORMot посмотреть, они здорово заморачиваются насчет скорости https://raw.githubusercontent.com/synopse/mORMot/master/SynCommons.pas ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 11:03 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal, какая к черту "скорость", если автор ничего не знает ни о требованиях, ни о реальных входных объемах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 11:07 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
ъъъъъ, если я их не говорю, не значит, что я их не знаю. я спросил ровно то, что хотел спросил. решение нашел. synopse молодцы основная мысль - меньше строк в потоках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 11:25 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
насчет скорости/производительности. 5 потоков парсинга при работе с сообщением как с текстом не поднимали загрузку CPU больше 30% и не успевали разбирать, а при работе с сообщением как с массивом байт загрузка CPU 55% и успевают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 11:30 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
cptngrb, Здесь не очень жалуют оптимизаторов. Заходи на Delphi Community в телеге - там больше возможностей дать тебе оперативный ответ по оптимизациям Кстати скоро будет очередной релиз Tiny.Library - там отпишу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 11:32 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU kealon(Ruslan), Теоретически, теория и практика не различаются, но на практике, теория и практика различаются Теоретически хорошая концепция убьётся об рутину менеджмента памяти, тем более на многопоточных приложениях ) а всё что с этим уже делается, к оценке не относится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 11:35 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), Да ладно Давай устроим батл Ты будешь выдавать строки, а я задействую CachedTexts ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 11:37 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, зачем выдавать строки? ты же с лексером сравниваться хочешь, он тип лексем выдаёт все pas-файлы с папки "C:\Program Files (x86)\Embarcadero\Studio\*\source\" у меня даже готовое где-то было, а то это у тебя времени много хотя мне кажется с лексером всё упрётся в чтение диска ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 11:43 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, среди кучи говна в ответах часто встречаются стоящие советы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 11:44 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), А лексемы не используют строки? Кстати по поводу диска. Судя по описанию, документы приходят по сети, значит можно замерять чтение из памяти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 11:46 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU kealon(Ruslan), А лексемы не используют строки? Кстати по поводу диска. Судя по описанию, документы приходят по сети, значит можно замерять чтение из памяти ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 12:00 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), Это прекрасно всё Только как ты будешь обрабатывать даты, числа, ФИО? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 12:13 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU kealon(Ruslan), Это прекрасно всё Только как ты будешь обрабатывать даты, числа, ФИО? его функция - выделить "слова", а что ты там с ними будешь делать, это уже другой вопрос хоть те же функции из mORMot возьми для обработки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 12:23 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), Вопрос тот же Давай с тебя лексер + mORMot С меня CachedTexts :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 12:40 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU kealon(Ruslan), Вопрос тот же Давай с тебя лексер + mORMot С меня CachedTexts :) что конкретно ты собрался парсить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 12:49 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), У автора можно взять тестовые данные Документов 10 загнать в память и пропарсить 100500 раз Из разных потоков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 12:59 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
> У автора можно взять тестовые данные он прям разбежался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 13:02 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений, Пусть тестовый пример зафигачит с несколькими потоками Ему же нужен быстрый парсер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 13:04 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUЕму же нужен быстрый парсер Он думает, что ему нужен быстрый парсер, но, скорее всего, он ошибается. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 13:07 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Судя по этому 22212530 нужен Ну и даже если не нужен, программерские батлы, если по результату появляются новые знания - хороши Это нормально иногда мериться письками Программерскими ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 13:12 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
12.10.2020 13:07, Dimitry Sibiryakov пишет: > Он думает, что ему нужен быстрый парсер, но, скорее всего, он ошибается. я восхищен! так культурно и завуалировано дать понять, что КГ/АМ... я б так не смог Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 13:13 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
cptngrb насчет скорости/производительности. 5 потоков парсинга при работе с сообщением как с текстом не поднимали загрузку CPU больше 30% и не успевали разбирать, а при работе с сообщением как с массивом байт загрузка CPU 55% и успевают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 14:25 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
А я рад за пропускную способность сетки ТСа)) так накидывать данные, что парсер загинается. По-ходу системы видеонаблюдений отдыхают)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 14:39 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
cptngrb основная мысль - меньше строк в потоках. Да, т.к. это основной perf-киллер. Выделить строку, заполнить, помацать счетчик ссылок через блокировку, удалить строку... парсинг по месту конечно быстрее будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 15:03 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal cptngrb основная мысль - меньше строк в потоках. Да, т.к. это основной perf-киллер. Выделить строку, заполнить, помацать счетчик ссылок через блокировку, удалить строку... парсинг по месту конечно быстрее будет Ситуация усугубилась с распространением многопоточности и серверной обработки Причём документы могут быть небольшие, но их будет тонна ) Кто знает, может быть дойдут руки - напишу парсер JSON и/или XML По крайней мере идея есть вообще бомбическая - задействовать thread var и стековую память - то есть вообще отказаться от синхронизации на куче TTinyObject уже позволяет не только конструироваться в стековой памяти, но и резервировать память под рабочие буферы Пока просто необходимости в этом не было ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 15:22 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutal Да, т.к. это основной perf-киллер. Однопоточный ММ, на самом деле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 15:31 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUСитуация усугубилась с распространением многопоточности и серверной обработки ситуация усугубилась с распространением "программистов", не представляющих объём работы, выполняемый каждой из написанных ими строчек. SOFT FOR YOUПо крайней мере идея есть вообще бомбическая - задействовать thread var и стековую память - то есть вообще отказаться от синхронизации на куче Давно реализовано во всех менеджерах памяти, включая системный линухов. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 15:33 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey, FastMM, даже 5 - аналогично работает через синхронизацию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 15:34 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov ситуация усугубилась с распространением "программистов", не представляющих объём работы, выполняемый каждой из написанных ими строчек. Так их всегда было много Dimitry Sibiryakov Давно реализовано во всех менеджерах памяти, включая системный линухов. Мне кажется ты не понял суть Менеджер памяти - куча Для Delphi неблокирующий только ScaleMM. И BrainMM, до которого всё руки не дойдут Даже в этом случае менеджмент накладывает существенный оверхед Полный парсинг и конструирование через память на стеке и thread var - это совсем другое дело ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 15:38 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUМне кажется ты не понял суть Менеджер памяти - куча Современный менеджер памяти - несколько куч по числу потоков/ядер. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 16:13 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, SOFT FOR YOU Для Delphi неблокирующий только ScaleMM. И BrainMM, до которого всё руки не дойдут Даже в этом случае менеджмент накладывает существенный оверхед Полный парсинг и конструирование через память на стеке и thread var - это совсем другое дело ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2020, 16:24 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, нафиг конструирование, а вот специальный SAX-парсер, только определяющий начало и конец данных, - это, да, другое дело ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2020, 09:43 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, Честно говоря, не понял, о чём мессейдж ) Конструирование нужно потому, что конструирование обычно в куче. Можно ухищряться, делать пул объектов. А можно выделить нужное количество памяти на стеке. Или в thread var буфере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2020, 09:57 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU Aleksandr Sharahov, Честно говоря, не понял, о чём мессейдж ) Конструирование нужно потому, что конструирование обычно в куче. Можно ухищряться, делать пул объектов. А можно выделить нужное количество памяти на стеке. Или в thread var буфере Речь о том, что для работы с данными строки сама строка не нужна, нужны лишь ее данные, которые и так уже доступны в тексте, который мы парсим. Ну, если ты понял, о чем я ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2020, 10:03 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2020, 10:48 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, На этой концепции и строится CachedTexts Фишка в том, что ты не просто работаешь с памятью, у тебя есть ещё "строки", представляющие из себя пару <указатель,длина>, и поверх этих строк есть куча быстрых функций, перевода в число, дату, Trim, поиск символа или подстроки, в том числе без учёта регистра А конструирование нужно потому, что свой парсер поверх этой концепции нужно наследовать от класса. И конвертация кодировки, в случае необходимости, так же происходит в классе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2020, 11:09 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU ... А конструирование нужно потому ... самый быстрый этап обработки - тот, которого нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2020, 11:30 |
|
||
|
Быстрый парсер текста
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, В теории да На практике удобно, когда есть некий класс парсера Который в случае необходимости конвертнёт исходную кодировку в ту, которую ты ожидаешь, позаботится о буферзации если ты парсишь гигабайтные тексты Разумеется. Просто в данном контексте подход на основе наследуемых классов и конструирование на стеке/TLS - весьма эффективный подход ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2020, 12:54 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2037934]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
18ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 307ms |

| 0 / 0 |
