Last active
February 11, 2017 05:51
-
-
Save siran/f2a9c1541d5547c1184fbba6bee2bdff to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$registros = $source_table->find()->order('id'); | |
$inicio = time(); | |
$diff = time(); | |
foreach ($registros as $registro) { | |
//for ($n = 0; $n < 500000; $n++) { //<-------------- see the difference when iterating over a for(0..500k) than over a foreach($registros) | |
$num++; | |
if ($num % 100 == 0) { | |
$memoria_usada = number_format(memory_get_usage(true), 0); | |
$to_log = __("used memory: ".$memoria_usada."\t$num records processed (time ".(time() - $inicio)."; diff: ".(time() - $diff).")"); | |
Log::info($to_log,'memory'); | |
$diff = time(); | |
} | |
} |
$sourcetable is a table with 58k records
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
the foreach: see how the memory usage increases
2017-02-11 05:36:57 Info: used memory: 128,712,704 32000 records processed (time 5; diff: 0)
2017-02-11 05:36:57 Info: used memory: 130,809,856 32100 records processed (time 5; diff: 0)
2017-02-11 05:36:57 Info: used memory: 130,809,856 32200 records processed (time 5; diff: 0)
2017-02-11 05:36:57 Info: used memory: 130,809,856 32300 records processed (time 5; diff: 0)
2017-02-11 05:36:57 Info: used memory: 130,809,856 32400 records processed (time 5; diff: 0)
2017-02-11 05:36:57 Info: used memory: 130,809,856 32500 records processed (time 5; diff: 0)
2017-02-11 05:36:57 Info: used memory: 132,907,008 32600 records processed (time 5; diff: 0)
2017-02-11 05:36:57 Info: used memory: 132,907,008 32700 records processed (time 5; diff: 0)
2017-02-11 05:36:57 Info: used memory: 132,907,008 32800 records processed (time 5; diff: 0)
2017-02-11 05:36:57 Info: used memory: 132,907,008 32900 records processed (time 5; diff: 0)
2017-02-11 05:36:57 Info: used memory: 132,907,008 33000 records processed (time 5; diff: 0)
2017-02-11 05:36:57 Info: used memory: 132,907,008 33100 records processed (time 5; diff: 0)
2017-02-11 05:36:57 Info: used memory: 132,907,008 33200 records processed (time 5; diff: 0)
the for:
....
2017-02-11 05:36:01 Info: used memory: 13,369,344 498800 records processed (time 45; diff: 0)
2017-02-11 05:36:01 Info: used memory: 13,369,344 498900 records processed (time 45; diff: 0)
2017-02-11 05:36:01 Info: used memory: 13,369,344 499000 records processed (time 45; diff: 0)
2017-02-11 05:36:01 Info: used memory: 13,369,344 499100 records processed (time 45; diff: 0)
2017-02-11 05:36:01 Info: used memory: 13,369,344 499200 records processed (time 45; diff: 0)
2017-02-11 05:36:01 Info: used memory: 13,369,344 499300 records processed (time 45; diff: 0)
2017-02-11 05:36:01 Info: used memory: 13,369,344 499400 records processed (time 45; diff: 0)
2017-02-11 05:36:01 Info: used memory: 13,369,344 499500 records processed (time 45; diff: 0)
2017-02-11 05:36:01 Info: used memory: 13,369,344 499600 records processed (time 45; diff: 0)
2017-02-11 05:36:01 Info: used memory: 13,369,344 499700 records processed (time 45; diff: 0)
2017-02-11 05:36:01 Info: used memory: 13,369,344 499800 records processed (time 45; diff: 0)
2017-02-11 05:36:01 Info: used memory: 13,369,344 499900 records processed (time 45; diff: 0)
2017-02-11 05:36:01 Info: used memory: 13,369,344 500000 records processed (time 45; diff: 0)