WordPress.org

Make WordPress Core

Ticket #23102: timing_code.diff

File timing_code.diff, 2.1 KB (added by jond3r, 5 years ago)

Code for performance test

  • wp-admin/includes/ajax-actions.php

     
    18521852        $posts = array_map( 'wp_prepare_attachment_for_js', $query->posts );
    18531853        $posts = array_filter( $posts );
    18541854
     1855        // Timing code start
     1856        global $attachment_timing_array;
     1857       
     1858        if ( ! empty( $attachment_timing_array ) ) {
     1859                $count = count( $attachment_timing_array );
     1860                $avg_time = round( 1000 * array_sum( $attachment_timing_array ) / $count, 3 ); // (ms)
     1861                $text = "Avg time " . $avg_time . " ms based on " . $count . " thumbnails or medium-sized images.\r\n";
     1862                file_put_contents( '../timing_dump.txt', $text , FILE_APPEND );
     1863        }
     1864        // Timing code end
     1865       
    18551866        wp_send_json_success( $posts );
    18561867}
    18571868
  • wp-includes/media.php

     
    13931393                                // We have the actual image size, but might need to further constrain it if content_width is narrower.
    13941394                                // This is not necessary for thumbnails and medium size.
    13951395                                if ( 'thumbnail' == $size || 'medium' == $size ) {
     1396                                        // Timer start
     1397                                        $time_start = microtime( true );
     1398                                       
     1399                                        /* Option 1: Original 3.5.0 code
    13961400                                        $width = $size_meta['width'];
    13971401                                        $height = $size_meta['height'];
     1402                                        */
     1403                                       
     1404                                        /* Option 2: Proposed 3.5.1 code */
     1405                                        list( $width, $height ) = image_constrain_size_for_editor( $size_meta['width'], $size_meta['height'], $size, 'edit' );
     1406                                       
     1407                                        /* Option 3: Equivalent 3.4 code
     1408                                        list( $img_src, $width, $height ) = image_downsize( $attachment->ID, $size );
     1409                                        */
     1410                                       
     1411                                        // Timer end
     1412                                        $time_end = microtime( true );
     1413                                        global $attachment_timing_array;
     1414                                        $attachment_timing_array[] = $time_end - $time_start;
    13981415                                } else {
    13991416                                        list( $width, $height ) = image_constrain_size_for_editor( $size_meta['width'], $size_meta['height'], $size, 'edit' );
    14001417                                }