Bonjour à tous,
Je viens demander un peu d'aide sur un problème de performance concernant le serializer natif de Symfony
En effet, si j'essaye de sérialiser un tableau d'objet comme ceci :
La serialization prend plus de 1s
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $serializedReservations = $this->serializer->serialize($reservations, 'json', ['groups' => 'detailReservationStock', 'enable_max_depth' => true]);
En revanche si je fais :
La sérialisation prend seulement 21 ms !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $data = []; foreach ($reservations as $reservation){ $data['idreservation'] = $reservation->getIdreservation(); $data['iddetailcommande'] = $reservation->getIddetailcommande()->getIddetailcommande(); $data['titre'] =$reservation->getIddetailcommande()->getTitre(); $data['nrserie'] =$reservation->getIdstock()->getNrserie(); $data['dlc'] =$reservation->getIdstock()->getDlc(); } $serializedReservations = $this->serializer->serialize($data, 'json', ['groups' => 'detailReservationStock', 'enable_max_depth' => true]);
Alors bien entendu, c'est plus rapide de serialiser un array qu'un objet, mais pourquoi la 1ère méthode est aussi lente alors qu'elle contient exactement les mêmes données (le groupe "detailReservationStock" filtre les mêmes 6 données que je récupère dans le data[]) ?
Si quelqu'un à une idée ou ne serait-ce qu'une piste, je suis preneur. Si je n'arrive pas à régler le problème k'essayerais peut-etre de passer sur JmsSerializer :/
PS : Désolé pour le franglais dans le code, c'est un projet "historique", difficile de tout nettoyer maintenant![]()
Partager