GraphQL ожидаемый итерируемый, но не найден для поля xxx.yyy

Я сделал небольшой ориентир. Мои результаты были одинаковыми. Но мне нужна производительность декодирования. Там, где я заметил, как и несколько человек выше, unserialize работает быстрее, чем json_decode. unserialize занимает примерно 60-70% от времени json_decode. Таким образом, вывод довольно прост: когда вам нужна производительность в кодировке, используйте json_encode, когда вам нужна производительность при декодировании, используйте unserialize. Поскольку вы не можете объединить две функции, вам нужно сделать выбор, где вам нужно больше производительности.

Мой тест в псевдо:

  • Определить массив $ arr несколькими случайными клавиши и значения
  • для x & lt; 100; х ++; serialize и json_encode array_rand $ arr
  • для y & lt; 1000; у ++; json_decode json encoded string - время вычисления
  • для y & lt; 1000; у ++; unserialize serialized string - calc time
  • повторить результат, который был быстрее

В avarage: unserialize выиграл 96 раз в 4 раза json_decode. С пропускной способностью примерно 1,5 мс за 2,5 мс.

27
задан Vetterjack 1 October 2017 в 14:40
поделиться