Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Какой протокол легче парсить? / 15 сообщений из 15, страница 1 из 1
22.11.2017, 16:33
    #39557664
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
В кои то веки мне дали выбор - выбери документ для парсинга а мы его заполним данными.
Инструмент для парсинга - С.
И я задумался какой документ быстрее распарсить? До сих пор я парсил в основном три формата - ini, xml, comma separated
но я никогда не задумывался какой из них лучше парситься по скорости (в данном случае определяющий фактор - скорость).
Может кто то проводил такой анализ?

P.S Подозреваю что вопрос идиотский. Не обижусь если модератор удалит его.
...
Рейтинг: 0 / 0
22.11.2017, 16:44
    #39557685
dbpatch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
jenya7В кои то веки мне дали выбор - выбери документ для парсинга а мы его заполним данными.
Инструмент для парсинга - С.
И я задумался какой документ быстрее распарсить? До сих пор я парсил в основном три формата - ini, xml, comma separated
но я никогда не задумывался какой из них лучше парситься по скорости (в данном случае определяющий фактор - скорость).
Может кто то проводил такой анализ?

P.S Подозреваю что вопрос идиотский. Не обижусь если модератор удалит его.

XML очень тяжелый формат, даже сверхскоростные библиотеки типа faxpp, при изучении исходников - приводят в ужас.
JSON в этом плане намного легче, масса удобных и быстрых минималистических библиотек - jsmn к примеру

в остальном - CSV натужен, там нужно корректно отрабатывать всякие экранирующие символы.

а вот INI просто как двери, по сути первые байты альфацифровые, символ =, а после - чистый raw, до перевода строки, никаких экранирований и прочих ограничений.

если нужно в значениях и символ перевода строки передавать - не беда, кодируем значения в hex формате, декодер HEX-а табличный можно найти готовый или написать за 15 минут свой. или пишем обработку экранирования - два подряд перевода строки считаются значением

INI - будет реально ультрабыстро, велосипедостроение минимально
...
Рейтинг: 0 / 0
22.11.2017, 17:11
    #39557710
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
dbpatchjenya7В кои то веки мне дали выбор - выбери документ для парсинга а мы его заполним данными.
Инструмент для парсинга - С.
И я задумался какой документ быстрее распарсить? До сих пор я парсил в основном три формата - ini, xml, comma separated
но я никогда не задумывался какой из них лучше парситься по скорости (в данном случае определяющий фактор - скорость).
Может кто то проводил такой анализ?

P.S Подозреваю что вопрос идиотский. Не обижусь если модератор удалит его.

XML очень тяжелый формат, даже сверхскоростные библиотеки типа faxpp, при изучении исходников - приводят в ужас.
JSON в этом плане намного легче, масса удобных и быстрых минималистических библиотек - jsmn к примеру

в остальном - CSV натужен, там нужно корректно отрабатывать всякие экранирующие символы.

а вот INI просто как двери, по сути первые байты альфацифровые, символ =, а после - чистый raw, до перевода строки, никаких экранирований и прочих ограничений.

если нужно в значениях и символ перевода строки передавать - не беда, кодируем значения в hex формате, декодер HEX-а табличный можно найти готовый или написать за 15 минут свой. или пишем обработку экранирования - два подряд перевода строки считаются значением

INI - будет реально ультрабыстро, велосипедостроение минимально
понял. спасибо.
...
Рейтинг: 0 / 0
22.11.2017, 17:59
    #39557743
Lumix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
jenya7(в данном случае определяющий фактор - скорость).
Может кто то проводил такой анализ?

P.S Подозреваю что вопрос идиотский.

Вообще-то когда на первом месте стоит скорость и предоставлена свобода в выборе формата, то все создают свой собственный формат файлов, исходя из того, как в дальнейшем будет использоваться информация из файла.

Еще из опыта могу сказать, что в 99% случаев вопрос скорости и формата файлов - это лишь паранойя программиста, а на самом деле это не так уж и важно, то есть реальный выигрыш может быть в 5 мс прироста скорости. Неужели 5 мс действительно критично? При обработке спутниковых координат для постановки целей на поле боя - это критично, но обычных прикладных задачах, часто +/- 100 мс часто роли вообще не играют.
...
Рейтинг: 0 / 0
22.11.2017, 18:35
    #39557777
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
Lumixjenya7(в данном случае определяющий фактор - скорость).
Может кто то проводил такой анализ?

P.S Подозреваю что вопрос идиотский.

Вообще-то когда на первом месте стоит скорость и предоставлена свобода в выборе формата, то все создают свой собственный формат файлов, исходя из того, как в дальнейшем будет использоваться информация из файла.

Еще из опыта могу сказать, что в 99% случаев вопрос скорости и формата файлов - это лишь паранойя программиста, а на самом деле это не так уж и важно, то есть реальный выигрыш может быть в 5 мс прироста скорости. Неужели 5 мс действительно критично? При обработке спутниковых координат для постановки целей на поле боя - это критично, но обычных прикладных задачах, часто +/- 100 мс часто роли вообще не играют.
ну, ну свой формат - наглеть мне не разрешали. )) должен быть какой то стандартный формат. а с целью - вы прямо в яблочко ))
...
Рейтинг: 0 / 0
22.11.2017, 18:37
    #39557783
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
jenya7В кои то веки мне дали выбор - выбери документ для парсинга а мы его заполним данными.
Инструмент для парсинга - С.
И я задумался какой документ быстрее распарсить? До сих пор я парсил в основном три формата - ini, xml, comma separated
но я никогда не задумывался какой из них лучше парситься по скорости (в данном случае определяющий фактор - скорость).
Может кто то проводил такой анализ?

P.S Подозреваю что вопрос идиотский. Не обижусь если модератор удалит его.Зависит от структуры данных.
Быстрее всего какой-нибудь собственный бинарный формат, чтобы можно было просто кусок памяти сбросить в файл и наоборот - прочитал в память и без какой-либо расшифровки имеешь готовые данные для работы.

А если надо писать в файл который будет хотя бы просматриваться человеком... То смотри какие у тебя данные.
Если у тебя плоский двумерный массив, то быстрее CSV не будет ничего.
Если у тебя данные организованы в дерево, то бери XML или JSON, смотря по тому какую библиотеку найдешь более удобной (или для какого формата парсер писать покажется легче).
ini - можно конечно, но только для маленьких объемов данных. Учти что большинство библиотек работающих с ini форматом имеют жуткие ограничения и для больших данных тебе придется писать собственный парсер (или резать данные).
...
Рейтинг: 0 / 0
22.11.2017, 18:39
    #39557784
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
LumixВообще-то когда на первом месте стоит скорость и предоставлена свобода в выборе формата, то все создают свой собственный формат файлов, исходя из того, как в дальнейшем будет использоваться информация из файла.
три плюса, обговорите с заказчиком дальносрочную перспективу...
...
Рейтинг: 0 / 0
23.11.2017, 14:01
    #39558259
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
кстати тут возник еще один вопрос - строка прочитанная из файла - это всегда строка? нужно делать atoi() чтоб получить число?
...
Рейтинг: 0 / 0
23.11.2017, 14:32
    #39558297
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
По-моему, проще и быстрее всего парсится XDR.
...
Рейтинг: 0 / 0
23.11.2017, 14:52
    #39558318
jenya7
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
Dimitry SibiryakovПо-моему, проще и быстрее всего парсится XDR.
авторFile created using the XML-Data Reduced (XDR) schema definition language; contains a data definition that describes the data in one or more related XML files; used by XML parsers to understand and parse XML data.
...
Рейтинг: 0 / 0
24.11.2017, 00:37
    #39558658
д0кХ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
jenya7кстати тут возник еще один вопрос - строка прочитанная из файла - это всегда строка? нужно делать atoi() чтоб получить число?

Из текстового файла всегда да.

Спроси у постановщиков про кодировку.

Не пердполагается ли там совмещение русских , греческих, арабских символов
в одном файле ?
...
Рейтинг: 0 / 0
24.11.2017, 12:32
    #39558923
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
jenya7кстати тут возник еще один вопрос - строка прочитанная из файла - это всегда строка? нужно делать atoi() чтоб получить число?
...
Рейтинг: 0 / 0
24.11.2017, 12:35
    #39558928
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
strtol
...
Рейтинг: 0 / 0
24.11.2017, 14:51
    #39559060
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
авторFile created using the XML-Data Reduced (XDR) schema definition language
Не этот XDR, а классический, середины прошлого века: <тэг><длина><данные>.
...
Рейтинг: 0 / 0
24.11.2017, 19:56
    #39559273
Lumix
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какой протокол легче парсить?
Dimitry SibiryakovНе этот XDR, а классический, середины прошлого века: <тэг><длина><данные>.

XDR = eXternal Data Representation
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Какой протокол легче парсить? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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