| Server IP : 172.67.201.108 / Your IP : 216.73.216.55 Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.7 System : Linux ip-172-31-69-123.ec2.internal 6.1.177-224.371.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jul 27 20:28:29 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/mitzvahm/wwwdev/_scripts/html_parser/testcase/ |
Upload File : |
<?php
// $Rev: 179 $
error_reporting(E_ALL);
include_once('../simple_html_dom.php');
// -----------------------------------------------------------------------------
function dump_memory($init_size) {
$peak = number_format(memory_get_peak_usage()/1024, 0, '.', ',');
$curr = number_format(memory_get_usage()/1024, 0, '.', ',');
$diff = $curr - $init_size;
echo 'peak: ' . $peak . ' kb, end: ' . $curr . ' kb, add: ' . $diff . " kb<br>";
}
// -----------------------------------------------------------------------------
$filename = './html/google.htm';
//$filename = 'test.htm';
// -----------------------------------------------------------------------------
// test_load_file_memory
function test_load_file_memory($filename, $init_size) {
echo '[load file] init memory: '.number_format(memory_get_usage()/1024, 0, '.', ',').'<br>';
echo '--------------------------------------------------------------------<br>';
flush();
for($i=0; $i<3; ++$i) {
$str = file_get_contents($filename);
dump_memory($init_size);
unset($str);
}
echo 'after loop: '.number_format(memory_get_usage(), 0, '.', ',').'<br>';
echo '--------------------------------------------------------------------<br>';
flush();
}
// -----------------------------------------------------------------------------
// test_multi_objects_str_get_html
function test_multi_str_get_html($filename, $init_size) {
global $__g_node_mgr;
$str = file_get_contents($filename);
echo '[str_get_html] init memory: '.number_format(memory_get_usage()/1024, 0, '.', ',').'<br>';
echo '--------------------------------------------------------------------<br>';
flush();
for($i=0; $i<3; ++$i) {
$html = str_get_html($str);
dump_memory($init_size);
flush();
}
echo 'after loop: '.number_format(memory_get_usage(), 0, '.', ',').'<br>';
echo '--------------------------------------------------------------------<br>';
flush();
unset($str);
}
// -----------------------------------------------------------------------------
// test_multi_file_get_html
function test_multi_file_get_html($filename, $init_size) {
echo '[file_get_html] init memory: '.number_format(memory_get_usage()/1024, 0, '.', ',').'<br>';
echo '--------------------------------------------------------------------<br>';
flush();
for($i=0; $i<3; ++$i) {
$html = file_get_html($filename);
//$html->clear();
unset($html);
dump_memory($init_size);
flush();
}
echo 'after loop: '.number_format(memory_get_usage(), 0, '.', ',').'<br>';
echo '--------------------------------------------------------------------<br>';
flush();
}
/*
// -----------------------------------------------------------------------------
// test_multi_objects_clear_memory
function test_multi_objects_file_get_html_clear_memory($filename) {
echo '<br><br>[one object]<br>init memory: '.number_format(memory_get_usage(), 0, '.', ',').'<br>';
echo '------------------------------------------<br>';
flush();
$html = new simple_html_dom;
for($i=0; $i<3; ++$i) {
$html->load_file($filename);
$html->clear();
dump_memory();
}
unset($dom);
echo 'final: '.number_format(memory_get_usage(), 0, '.', ',').'<br>';
flush();
echo '<br><br>[multi objects without clear memory]<br>init memory: '.number_format(memory_get_usage(), 0, '.', ',').'<br>';
echo '------------------------------------------<br>';
flush();
for($i=0; $i<3; ++$i) {
$html = file_get_html($filename);
dump_memory();
}
echo 'final: '.number_format(memory_get_usage(), 0, '.', ',').'<br>';
flush();
*/
// -----------------------------------------------------------------------------
// begin test
$init_size = number_format(memory_get_usage(), 0, '.', ',');
echo 'init ' . $init_size . " bytes<br>";
flush();
echo '<br>before function: '.number_format(memory_get_usage()/1024, 0, '.', ',').'<br>';
test_load_file_memory($filename, $init_size);
echo 'after function: '.number_format(memory_get_usage()/1024, 0, '.', ',').'<br><br>';
flush();
echo '<br>before function: '.number_format(memory_get_usage()/1024, 0, '.', ',').'<br>';
test_multi_file_get_html($filename, $init_size);
echo 'after function: '.number_format(memory_get_usage()/1024, 0, '.', ',').'<br><br>';
flush();
echo '<br>before function: '.number_format(memory_get_usage()/1024, 0, '.', ',').'<br>';
test_multi_file_get_html($filename, $init_size);
echo 'after function: '.number_format(memory_get_usage()/1024, 0, '.', ',').'<br><br>';
flush();
?>