Profiler: Call getContentType() only once in logData()
authorChad Horohoe <chadh@wikimedia.org>
Tue, 4 Nov 2014 17:40:40 +0000 (09:40 -0800)
committerChad Horohoe <chadh@wikimedia.org>
Tue, 4 Nov 2014 17:42:37 +0000 (09:42 -0800)
Each call potentially does a regular expression check per output
header. No point in multiplying that by 3.

Change-Id: I30e9a6b5df1a773e9448ec9b77d0e79339f19738

includes/profiler/ProfilerSimpleText.php
includes/profiler/ProfilerSimpleTrace.php

index 2d96b88..cc18890 100644 (file)
@@ -50,17 +50,18 @@ class ProfilerSimpleText extends ProfilerStandard {
                                : 0; // profiling mismatch error?
                        uasort( $this->mCollated, array( 'self', 'sort' ) );
                        array_walk( $this->mCollated, array( 'self', 'format' ), $totalReal );
+                       $contentType = $this->getContentType();
                        if ( PHP_SAPI === 'cli' ) {
                                print "<!--\n" . self::$out . "\n-->\n";
-                       } elseif ( $this->getContentType() === 'text/html' ) {
+                       } elseif ( $contentType === 'text/html' ) {
                                if ( $this->visible ) {
                                        print '<pre>' . self::$out . '</pre>';
                                } else {
                                        print "<!--\n" . self::$out . "\n-->\n";
                                }
-                       } elseif ( $this->getContentType() === 'text/javascript' ) {
+                       } elseif ( $contentType === 'text/javascript' ) {
                                print "\n/*\n" . self::$out . "*/\n";
-                       } elseif ( $this->getContentType() === 'text/css' ) {
+                       } elseif ( $contentType === 'text/css' ) {
                                print "\n/*\n" . self::$out . "*/\n";
                        }
                }
index 95e4bc6..0dd4067 100644 (file)
@@ -67,13 +67,14 @@ class ProfilerSimpleTrace extends ProfilerStandard {
 
        public function logData() {
                if ( $this->mTemplated ) {
+                       $contentType = $this->getContentType();
                        if ( PHP_SAPI === 'cli' ) {
                                print "<!-- \n {$this->trace} \n -->";
-                       } elseif ( $this->getContentType() === 'text/html' ) {
+                       } elseif ( $contentType === 'text/html' ) {
                                print "<!-- \n {$this->trace} \n -->";
-                       } elseif ( $this->getContentType() === 'text/javascript' ) {
+                       } elseif ( $contentType === 'text/javascript' ) {
                                print "\n/*\n {$this->trace}\n*/";
-                       } elseif ( $this->getContentType() === 'text/css' ) {
+                       } elseif ( $contentType === 'text/css' ) {
                                print "\n/*\n {$this->trace}\n*/";
                        }
                }