Быстрый формат формата данных формата PHP

У меня есть внешний интерфейс PHP и бэкэнд C ++, и мне нужно иметь возможность отправлять группы имен во внешний интерфейс. Какой сериализованный формат будет наиболее эффективным / быстрым для чтения PHP?

Примеры данных

group1: name1 3923 name2 9879 name3 8944 group2: name5 9823 group3: name9 9822 name1 4894 

Что было бы самым быстрым для PHP для чтения?

  • XML
  • JSON
  • YAML
  • Буфер протокола
  • Comma / Space Разграничивает нашу собственную систему
  • Что-нибудь еще? Другие?

Solutions Collecting From Web of "Быстрый формат формата данных формата PHP"

Собственный сериализованный формат PHP, вероятно, будет самым быстрым. unserialize() – это функция, используемая PHP для преобразования этих данных в собственные типы. Этот пост имеет различные ссылки на реализацию некоторых языков в сериализованном формате PHP, я уверен, что вы можете легко конвертировать один из них.

Я использовал PHP serialize () и unserialize () в больших текстовых файлах, и он выполнял ужасно (это было пару лет назад – может быть, теперь это лучше). Во всяком случае, я разработал небольшой трюк, чтобы преодолеть это, он просто включает в себя создание объявления массива PHP из данных, которые вы экспортируете прямо в текстовый файл, например:

 <?php $groups = array('groups' => array( array('jeff' => 2343, 'tom' => 8477), array('baal' => 2873, 'scorpio' => 3210), array('jeff' => 2343, 'tom' => 8477) ) ) ); ?> 

… и затем unserializing это, простозывая:

 include 'groups.php';//makes $groups available 

Хорошо работала тогда.

JSON будет довольно легко использовать json_decode . Я не уверен в скорости, но если вы не планируете передавать мегабайты этих данных между системами, это должно быть неуместно, с кем вы идете.

Как отметил Паоло, вы можете использовать json_decode, который очень быстр. На бэкэнде C ++ это некоторые из ваших вариантов (взятых непосредственно с сайта json.org ):

C ++:

  • TinyJSON .
  • jsoncpp .
  • зулиб .
  • Jaula .
  • JOST .
  • JSON Spirit .
  • CAJUN .