json_encode / json_decode против Zend_Json :: encode / Zend_Json :: decode - PullRequest
5 голосов
/ 09 декабря 2010

Знаете ли вы, что является лучшим способом для производительности и потребления памяти?

Заранее спасибо.

Bye.

Ответы [ 3 ]

6 голосов
/ 05 декабря 2011

Единственное различие в функциональности заключается в следующем (согласно документации Zend Framework):

Когда метод toJson () реализован на объекте для кодирования, Zend_Json вызывает этот метод и ожидает объектвернуть JSON-представление своего внутреннего состояния.

Кроме того, нет никаких отличий, и он автоматически выбирает использование функции json_encode PHP, если установлено расширение json.Снова из их документов:

Если ext / json не установлен, для кодирования / декодирования используется реализация Zend Framework в коде PHP.Это значительно медленнее, чем использование расширения PHP, но ведет себя точно так же.

5 голосов
/ 10 декабря 2010
$memoryNativeStart = memory_get_peak_usage (true);
$start = microtime( true );
$native = json_decode(json_encode( $data ));
$memoryNative =  memory_get_peak_usage (true) - $memoryNativeStart;
$jsonNativeTime = microtime( true ) - $start;
$msgNative = 'Native php <br>';
$msgNative .= 'time '.$jsonNativeTime.' memory '.$memoryNative.'<br>';

echo $msgNative;

sleep(3);

$memoryZendStart = memory_get_peak_usage (true);
$start = microtime( true );
$zend = Zend_Json::decode(Zend_Json::encode( $data ));
$memoryZend =  memory_get_peak_usage (true) - $memoryZendStart;
$jsonZendTime = microtime( true ) - $start;
$msgZend = 'Zend <br>';
$msgZend .= 'time '.$jsonZendTime.' memory '.$memoryZend;

echo $msgZend;

внутри данных около 130 000 записей (с набором результатов)

4 голосов
/ 09 декабря 2010

Zend_Json существует, чтобы его можно было лучше интегрировать в среду OO.Что касается производительности, я думаю, что json_encode / decode будет немного быстрее, поскольку они встроены в функции (то есть они не написаны на PHP).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...