Skip to content

Instantly share code, notes, and snippets.

@zither
Last active September 17, 2015 04:06
Show Gist options
  • Save zither/668ce48e01f916c6de02 to your computer and use it in GitHub Desktop.
Save zither/668ce48e01f916c6de02 to your computer and use it in GitHub Desktop.
Doku_LexerStateStack_Tests
<?php
define("DOKU_INC", __DIR__ . "/");
require DOKU_INC . "inc/parser/lexer.php";
$startTimeIndex = xdebug_time_index();
//$startMemoryUsage = xdebug_memory_usage();
$stack = new Doku_LexerStateStack("base");
for ($i = 0; $i < 1000000; $i++) {
$stack->enter("test_mode_name");
$stack->getCurrent();
}
while (false !== $stack->leave()) {};
//$peakMemoryUsage = xdebug_peak_memory_usage();
//$endMemoryUsage = xdebug_memory_usage();
$endTimeIndex = xdebug_time_index();
printf(
"Start time index: %s\nEnd time index: %s\ntaken: %s\n\n",
$startTimeIndex,
$endTimeIndex,
$endTimeIndex - $startTimeIndex
);
/*
printf(
"Start memory usage: %s\nEnd memory usage: %s\nPeak: %s\n",
$startMemoryUsage,
$endMemoryUsage,
$peakMemoryUsage
);
*/
<?php
define("DOKU_INC", __DIR__ . "/");
require_once DOKU_INC . "inc/init.php";
require_once DOKU_INC . "inc/parser/parser.php";
$parser = new Doku_Parser();
$parser->Handler = new Doku_Handler();
$modes = p_get_parsermodes();
foreach ($modes as $mode) {
$parser->addMode($mode["mode"], $mode["obj"]);
}
$content = file_get_contents("devel_parser.txt");
$startTimeIndex = xdebug_time_index();
//$startMemoryUsage = xdebug_memory_usage();
$parser->parse($content);
//$peakMemoryUsage = xdebug_peak_memory_usage();
//$endMemoryUsage = xdebug_memory_usage();
$endTimeIndex = xdebug_time_index();
printf(
"Start time index: %s\nEnd time index: %s\ntaken: %s\n\n",
$startTimeIndex,
$endTimeIndex,
$endTimeIndex - $startTimeIndex
);
/*
printf(
"Start memory usage: %s\nEnd memory usage: %s\nPeak: %s\n",
$startMemoryUsage,
$endMemoryUsage,
$peakMemoryUsage
);
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment