Skip to content

Instantly share code, notes, and snippets.

@sybrew
Created July 29, 2024 01:42
Show Gist options
  • Save sybrew/bd78076fabdd6ce67ce25e57a8fc7e72 to your computer and use it in GitHub Desktop.
Save sybrew/bd78076fabdd6ce67ce25e57a8fc7e72 to your computer and use it in GitHub Desktop.
<?php
/**
* Plugin name: test wp_get_wp_version performance.
*/
if ( ! function_exists( 'wp_get_wp_version' ) ) {
function wp_get_wp_version() {
require ABSPATH . WPINC . '/version.php';
return $wp_version;
}
}
function wp_get_wp_version_memoed() {
static $wp_version;
if ( empty( $wp_version ) )
require ABSPATH . WPINC . '/version.php';
return $wp_version;
}
add_action(
'wp_head',
function () {
if ( empty( $_GET['test'] ) ) return;
$its = 1e4;
$t = hrtime( true );
for ( $i = $its; $i--; )
wp_get_wp_version();
echo number_format( ( hrtime( true ) - $t ) / 1e9, 5 ) . 's', "\n"; // 0.11526s
$t = hrtime( true );
for ( $i = $its; $i--; )
wp_get_wp_version_memoed();
echo number_format( ( hrtime( true ) - $t ) / 1e9, 5 ) . 's', "\n"; // 0.00040s
$t = hrtime( true );
for ( $i = $its; $i--; )
wp_get_wp_version();
echo number_format( ( hrtime( true ) - $t ) / 1e9, 5 ) . 's', "\n"; // 0.11483s
$t = hrtime( true );
for ( $i = $its; $i--; )
wp_get_wp_version_memoed();
echo number_format( ( hrtime( true ) - $t ) / 1e9, 5 ) . 's', "\n"; // 0.00060s
exit;
},
0,
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment