Programiści PHP - pamiętajcie o iteratorach

#TeamSpeednet
July 31, 2015 | Software development

Michelangelo van Dam, miłośnik m.in. unit testów i prelegent PHPCon Poland, kilka dni temu opublikował wyniki swojego testu. Test polegał na porównaniu działania fetchAll oraz iteratora dla PDO, w przypadku pobrania 64k rekordów z bazy danych. Oto wyniki w pigułce:

Foreach loop

  • Data fetching time for 63992 of 250000 records: 2.14s
  • Data processing time for 63992 of 250000 records: 7.11s
  • Total time for 63992 of 250000 records: 9.25s
  • Memory consumption for 63992 of 250000 records: 217.75MB

Iterator loop

  • Data fetching time for 63992 of 250000 records: 0.92s
  • Data processing time for 63992 of 250000 records: 5.57s
  • Total time for 63992 of 250000 records: 6.49s
  • Memory consumption for 63992 of 250000 records: 0.25MB

217.75MB vs 0.25MB – widać różnicę?
Więcej: Speeding up database calls with PDO and iterators

Chcesz poznać nas lepiej? Dowiedz się, co nas wyróżnia.