123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <?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();
- ?>
|