Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function test_original($count, $propertyName) {
- $time_start = microtime(true);
- for ($a=0; $a < $count; $a++) {
- $snakeCasedName = '';
- $len = strlen($propertyName);
- for ($i = 0; $i < $len; ++$i) {
- if (ctype_upper($propertyName[$i]) && $i !== 0) {
- $snakeCasedName .= '_'.strtolower($propertyName[$i]);
- } else {
- $snakeCasedName .= strtolower($propertyName[$i]);
- }
- }
- }
- return number_format(microtime(true) - $time_start, 3);
- }
- function test_energetick($count, $propertyName) {
- $time_start = microtime(true);
- for ($a=0; $a < $count; $a++) {
- $len = strlen($propertyName) - 1;
- $lowerCasedName = strtolower($propertyName);
- // First character taken as is
- $snakeCasedName = isset($lowerCasedName[0]) ? $lowerCasedName[0] : '';
- for ($i = 1; $i < $len; ++$i) {
- // If uppercase
- if ($lowerCasedName[0] !== $propertyName[$i]) {
- $snakeCasedName .= '_';
- }
- $snakeCasedName .= $lowerCasedName[$i];
- }
- }
- return number_format(microtime(true) - $time_start, 3);
- }
- function test_dunglas($count, $propertyName) {
- $time_start = microtime(true);
- for ($a=0; $a < $count; $a++) {
- $snakeCasedName = '';
- $len = strlen($propertyName);
- for ($i = 0; $i < $len; ++$i) {
- $lcPropertyName = strtolower($propertyName[$i]);
- if (0 !== $i && $lcPropertyName !== $propertyName[$i]) {
- $snakeCasedName .= '_'.$lcPropertyName;
- } else {
- $snakeCasedName .= $lcPropertyName;
- }
- }
- }
- return number_format(microtime(true) - $time_start, 3);
- }
- foreach (['test_original', 'test_energetick', 'test_dunglas'] as $function) {
- $result = $function(100000, 'aLongNameIsVeryLong');
- echo $function." : ".$result." sec.\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement