Here is a bit more testing results based on Weedpacket's feedback. $params is an array of parameters (as you probably guessed) and 'start' and 'limit' are type int.
$_db is my DB class, running memory stats on the loop that uses it to insert 200 records (in parseXML) yields no memory increase.
Here is the core of the script that is yielding the stats below:
echo 'Working with '.$abbr." @ ".date('H:i:s')."\n";
echo 'Job Loop Current: ' . number_format(memory_get_usage(true), 0, '.', ',') . " bytes\n";
// build query
$params['l'] = $abbr;
$query = buildQuery($params);
// target site
$target = $base.$query;
// fire
$total = (int)parseXML($target, $_db, $errors);
$totalJobs += $params['limit'];
$hits[$abbr] = $total;
// calc total number of pages
$numPages = ceil($total / $params['limit']);
// once $totalJobs >= $total, continue
if($numPages > 1){
while($totalJobs <= $total){
echo 'Inner Current: ' . number_format(memory_get_usage(true), 0, '.', ',') . " bytes\n";
$params['start'] += $params['limit'];
$query = buildQuery($params);
$target = $base.$query;
$data = parseXML($target, $_db, $errors);
$totalJobs += $params['limit'];
$query = $target = $data = NULL;
}
}
$query = $target = $data = $total = $numPages = $totalJobs = NULL;
// reset params
$params['start'] = 1;
Results:
Working with AL @ 09:16:08
Job Loop Current: 262,144 bytes
Inner Current: 262,144 bytes
Inner Current: 524,288 bytes
Inner Current: 524,288 bytes
Inner Current: 524,288 bytes
Inner Current: 786,432 bytes
Inner Current: 786,432 bytes
Inner Current: 786,432 bytes
Inner Current: 1,048,576 bytes
Inner Current: 1,048,576 bytes
Inner Current: 1,048,576 bytes
Inner Current: 1,310,720 bytes
Inner Current: 1,310,720 bytes
Inner Current: 1,310,720 bytes
Inner Current: 1,572,864 bytes
Inner Current: 1,572,864 bytes
Inner Current: 1,572,864 bytes
Inner Current: 1,835,008 bytes
Inner Current: 1,835,008 bytes
Inner Current: 1,835,008 bytes
Inner Current: 2,097,152 bytes
Inner Current: 2,621,440 bytes
Inner Current: 2,621,440 bytes
Inner Current: 2,621,440 bytes
Inner Current: 2,621,440 bytes
Inner Current: 2,621,440 bytes
Inner Current: 2,621,440 bytes
Inner Current: 2,621,440 bytes
Inner Current: 2,883,584 bytes
Inner Current: 2,883,584 bytes
Inner Current: 2,883,584 bytes
Inner Current: 2,883,584 bytes
Inner Current: 3,145,728 bytes
Inner Current: 3,145,728 bytes
Inner Current: 3,145,728 bytes
Inner Current: 3,407,872 bytes
Inner Current: 3,407,872 bytes
Inner Current: 3,407,872 bytes
Inner Current: 3,407,872 bytes
Inner Current: 3,670,016 bytes
Inner Current: 3,670,016 bytes
Inner Current: 4,718,592 bytes
Inner Current: 4,718,592 bytes
Inner Current: 4,718,592 bytes
Inner Current: 4,718,592 bytes
Inner Current: 4,718,592 bytes
Inner Current: 4,718,592 bytes
Inner Current: 4,718,592 bytes
Inner Current: 4,718,592 bytes
Inner Current: 4,718,592 bytes
Inner Current: 4,718,592 bytes
Inner Current: 4,980,736 bytes
Inner Current: 4,980,736 bytes
Inner Current: 4,980,736 bytes
Inner Current: 5,242,880 bytes
Inner Current: 5,242,880 bytes
Inner Current: 5,242,880 bytes
Inner Current: 5,242,880 bytes
Inner Current: 5,505,024 bytes
Inner Current: 5,505,024 bytes
Inner Current: 5,505,024 bytes
Inner Current: 5,767,168 bytes
Inner Current: 5,767,168 bytes
Inner Current: 5,767,168 bytes
Inner Current: 5,767,168 bytes
Inner Current: 6,029,312 bytes
Inner Current: 6,029,312 bytes
Inner Current: 6,029,312 bytes
Inner Current: 6,291,456 bytes
Inner Current: 6,291,456 bytes
Inner Current: 6,291,456 bytes
Inner Current: 6,291,456 bytes
Inner Current: 6,553,600 bytes
Inner Current: 6,553,600 bytes
Inner Current: 6,553,600 bytes
Inner Current: 6,815,744 bytes
Inner Current: 6,815,744 bytes
Inner Current: 6,815,744 bytes
Inner Current: 6,815,744 bytes
Inner Current: 7,077,888 bytes
Inner Current: 7,077,888 bytes
Inner Current: 7,077,888 bytes
Inner Current: 8,912,896 bytes
Inner Current: 8,912,896 bytes
Inner Current: 8,912,896 bytes
Inner Current: 8,912,896 bytes
Inner Current: 8,912,896 bytes
Inner Current: 8,912,896 bytes
Inner Current: 8,912,896 bytes
Inner Current: 8,912,896 bytes
Inner Current: 8,912,896 bytes
Inner Current: 8,912,896 bytes
Inner Current: 8,912,896 bytes
Inner Current: 8,912,896 bytes
Inner Current: 8,912,896 bytes
Inner Current: 8,912,896 bytes
Inner Current: 9,175,040 bytes
Inner Current: 9,175,040 bytes
Inner Current: 9,175,040 bytes
Inner Current: 9,175,040 bytes
Inner Current: 9,437,184 bytes
^C
A bit erratic if you ask me (other than the consistent increase of 262,144 bytes).