php - Symfony 序列化程序的性能问题
问题描述
我需要一些关于本机 Symfony 序列化程序的性能问题的帮助
如果我尝试像这样序列化一个实体数组:
$serializedReservations = $this->serializer->serialize($reservations, 'json', ['groups' => 'reservationDetails', 'enable_max_depth' => true]);
序列化时间超过 1s
另一方面,如果我这样做:
$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。
解决方案
推荐阅读
- database - 如何将本地 Oracle 11g DSN 共享给他人?
- tcp - 使用 NFQUEUE 强制重传
- javascript - React Redux Array.Map Fetch - 当所有文件都成功时返回成功
- javascript - 一些 hr 标签内部有间隙,而另一些则没有
- python - 如何将数据中的列转换为日期格式以使其工作熊猫
- javascript - 将输入值与纯 Javascript 中的 li 内容进行比较
- xslt - 连接中的 XSLT 空白
- spring - ngx-infinite-scroll 中的(ScrolledUp)不起作用
- asp.net-mvc - 如何在 ASP.NET 中使用 Base Controller 来记录用户操作?
- scala - 使用 row_number 列更新数据框