Symfony序列化器的性能问题

时间:2020-06-12 07:05:00

标签: php symfony symfony4

在有关本机Symfony序列化器的性能问题上,我需要一些帮助

如果我尝试序列化这样的实体数组:

$serializedReservations = $this->serializer->serialize($reservations, 'json', ['groups' => 'reservationDetails', 'enable_max_depth' => true]);

序列化需要1秒钟以上

另一方面,如果我这样做:

$data = [];
foreach ($reservations as $reservation){
    $data['idreservation'] = $reservation->getIdreservation();
    $data['idcommand'] = $reservation->getCommand()->getIdCommand();
    $data['title'] =$reservation->getCommand()->getTitle();
    $data['serialnumber'] = $reservation->getStock()->getSerialNumber();
    $data['ubd'] = $reservation->getStock()->getUBD();
}

$serializedReservations = $this->serializer->serialize($data, 'json', ['groups' => 'reservationDetails', 'enable_max_depth' => true]);

序列化仅需21毫秒!

因此,数组的序列化当然比实体的序列化快,但是当第一种方法包含完全相同的数据时,为什么第一种方法这么慢(“ reservationDetails”组过滤了我从data []获得的相同的6个数据) ?

如果某人有一个主意甚至线索,我很感兴趣。如果无法解决问题,则可以尝试切换到JmsSerializer。

0 个答案:

没有答案