Rumah pembangunan bahagian belakang tutorial php php记录程序执行时间microtime

php记录程序执行时间microtime

Jul 30, 2016 pm 01:30 PM
arr key time

/**
 * 记录程序程序时间---只能记录连续的调用改函数
 * @param		$time_key		记录的key,多次执行可以指定同一个key
 * @return		none				没有返回值,直接获取全局变量$time_arr,如果是在方法中调用需要先global一次
 **/
function showExecuTime($time_key = '') {
	global $time_arr,$time_start,$time_end,$time_num;
	$time_now = microtime(true);
	if ( !$time_num ) {
		$time_num = 0;
	}
	$time_num++;
	if ( $time_num%2 == 1 ) {
		$time_start = $time_now;
	} else {
		$time_end = $time_now;
	}
	if ( $time_num %2 == 0 && $time_start && $time_end ) {
		$time = $time_end - $time_start;
		if ( $time_key ) {
			$time_arr[$time_key] += $time;
		} else {
			$time_arr[] = $time;
		}
		$time_arr['total'] += $time;
	}
}

/**
 * 记录程序程序时间---可以多次交叉的调用
 * @param		$time_key		记录的key,多次执行可以指定同一个key
 * @return		none				没有返回值,直接获取全局变量$time_arr,如果是在方法中调用需要先global一次
 **/
function showExecuTime($time_key = '') {
	global $time_arr,$time_key_arr,$time_num;
	$time_now = microtime(true);
	if ( !$time_key ) {
		if ( !$time_num ) {
			$time_num = 0;
		}
		$time_num++;
		$time_key = floor(($time_num+1)/2) - 1;
	}
	// 记录本次是开始时间还是结束时间
	if ( !isset($time_key_arr[$time_key])) {
		$time_key_arr[$time_key]['num'] = 0;
	}
	$time_key_arr[$time_key]['num']++;
	if ( $time_key_arr[$time_key]['num']%2 == 1 ) {
		$time_key_arr[$time_key]['time_start'] = $time_now;
	} else {
		$time_key_arr[$time_key]['time_end'] = $time_now;
	}
	
	// 如果连续记录2次,计算结果
	if ( $time_key_arr[$time_key]['num'] %2 == 0 && $time_key_arr[$time_key]['time_start'] && $time_key_arr[$time_key]['time_end'] ) {
		$time = $time_key_arr[$time_key]['time_end'] - $time_key_arr[$time_key]['time_start'];
		$time_arr[$time_key] += $time;
		$time_arr['total'] += $time;
	}
}

showExecuTime('all');
showExecuTime();
sleep(1);
showExecuTime('all');//////
sleep(1);
showExecuTime();
sleep(1);
showExecuTime();
sleep(1);
showExecuTime();
showExecuTime('a');
sleep(1);
showExecuTime('a');
// showExecuTime('all');//////
print_r($time_arr);
print_r($time_key_arr);
Salin selepas log masuk

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了php记录程序执行时间microtime,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang dimaksudkan dengan atribut identiti dalam SQL? Apakah yang dimaksudkan dengan atribut identiti dalam SQL? Feb 19, 2024 am 11:24 AM

Apakah Identity dalam SQL? Contoh kod khusus diperlukan Dalam SQL, Identity ialah jenis data khas yang digunakan untuk menjana nombor penambahan automatik. Ia sering digunakan untuk mengenal pasti setiap baris data dalam jadual. Lajur Identiti sering digunakan bersama dengan lajur kunci utama untuk memastikan setiap rekod mempunyai pengecam unik. Artikel ini akan memperincikan cara menggunakan Identiti dan beberapa contoh kod praktikal. Cara asas untuk menggunakan Identity ialah menggunakan Identit semasa membuat jadual.

Bagaimana SpringBoot memantau peristiwa perubahan kunci redis Bagaimana SpringBoot memantau peristiwa perubahan kunci redis May 26, 2023 pm 01:55 PM

1. Gambaran Keseluruhan Fungsi Pemberitahuan ruang kekunci membolehkan pelanggan menerima acara yang mengubah suai perubahan Rediskey dalam beberapa cara dengan melanggan saluran atau corak. Semua arahan yang mengubah suai kunci kekunci. Semua kunci yang menerima perintah LPUSHkeyvalue[value…]. Semua kunci tamat tempoh dalam pangkalan data db. Acara diedarkan melalui fungsi langganan dan penerbitan Redis (pub/sub), jadi semua pelanggan yang menyokong fungsi langganan dan penerbitan boleh terus menggunakan fungsi pemberitahuan ruang kekunci tanpa membuat sebarang pengubahsuaian. Kerana fungsi langganan dan penerbitan semasa Redis menggunakan strategi fireandforget, jika program anda

Pemprosesan jam monotonik pakej masa Pemprosesan jam monotonik pakej masa Aug 04, 2023 pm 05:45 PM

Hari ini kita akan melihat kaedah penggunaan masa pakej masa golang. Peraturan umum antara kedua-duanya ialah "masa dinding" digunakan untuk memberitahu masa, dan "jam monotonik" digunakan untuk mengukur masa terdapat kaedah pemprosesan jam lain.

Kerentanan kunci pengesahan dua faktor Yubico yang tidak dapat ditambal memecah keselamatan kebanyakan peranti Yubikey 5, Kunci Keselamatan dan YubiHSM 2FA Kerentanan kunci pengesahan dua faktor Yubico yang tidak dapat ditambal memecah keselamatan kebanyakan peranti Yubikey 5, Kunci Keselamatan dan YubiHSM 2FA Sep 04, 2024 pm 06:32 PM

Kerentanan kunci pengesahan dua faktor Yubico yang tidak dapat ditambal telah memecahkan keselamatan kebanyakan peranti Yubikey 5, Kunci Keselamatan dan YubiHSM 2FA. JavaCard A22 Feitian dan peranti lain yang menggunakan TPM siri Infineon SLB96xx juga terdedah. Semua

Bagaimana untuk menyelesaikan masalah penghapusan kelompok nilai utama dalam redis Bagaimana untuk menyelesaikan masalah penghapusan kelompok nilai utama dalam redis May 31, 2023 am 08:59 AM

Masalah yang dihadapi: Semasa proses pembangunan, anda akan menemui kunci yang perlu dipadamkan secara berkelompok mengikut peraturan tertentu, seperti login_logID (ID ialah pembolehubah Sekarang anda perlu memadamkan data seperti "login_log*", tetapi redis sendiri hanya mempunyai pertanyaan kelompok. Penyelesaian: Tanya dahulu, kemudian padam, gunakan xargs untuk menghantar parameter (xargs boleh menukar paip atau data input standard (stdin) kepada parameter baris arahan), laksanakan pernyataan pertanyaan dahulu, dan kemudian alih keluar nilai kunci yang ditanya dan parameter del asal. padam. redis-cliKEYSkey* (keadaan carian)|xargsr

Cara menggunakan Java8 Time API Cara menggunakan Java8 Time API Apr 28, 2023 pm 12:25 PM

1. Gambaran Keseluruhan Sebagai sebahagian daripada artikel ini, mari kita mulakan dengan beberapa masalah dengan Date dan CalendarAPI sedia ada dan meneroka cara Java8Date dan TimeAPI baharu menyelesaikan masalah ini. Kami juga akan melihat kelas teras dalam perpustakaan kelas masa Java8, seperti LocalDate, LocalTime, LocalDateTime, ZonedDateTime, Tempoh, Tempoh dan API mereka. 2. Masalah keselamatan benang API lama (sebelum Java 8)-Kelas Tarikh dan Kalendar tidak selamat untuk benang, menyukarkan pembangun untuk menyahpepijat masalah konkurensi API ini dan perlu menulis kod tambahan untuk menanganinya .

Bagaimana untuk menentukan sama ada JSONObject mengandungi kunci tertentu dalam Java? Bagaimana untuk menentukan sama ada JSONObject mengandungi kunci tertentu dalam Java? May 08, 2023 pm 12:25 PM

Tentukan sama ada KeyJSONObject wujud dalam JSONObjectjsonObj=newJSONObject();jsonObj.put("version","1.0.0");//version number jsonObj.put("encoding","UTF-8");//encoding method Tentukan sama ada atribut vesion wujud dalam jsonObject jsonObj.has("version");//Return true untuk menyemak sama ada k wujud dalam rentetan json

Bagaimana untuk mendapatkan dan menukar masa dalam modul masa Python Bagaimana untuk mendapatkan dan menukar masa dalam modul masa Python May 13, 2023 pm 12:19 PM

Pemerolehan dan penukaran masa modul Pythontime Pustaka Masa Python boleh melakukan pemprosesan berkaitan masa, seperti mengakses tarikh dan masa semasa, mengeluarkan masa dalam format yang berbeza dan menunggu masa tertentu. 1. Dapatkan masa 1.1. Timestamp importtimestamp=time.time()#1682737552.5009851 Greenwich Mean Time (GMT) Jumlah bilangan saat dari 00:00:00 pada 1 Januari 1970 hingga 1.2 masa berstruktur masa sekarang. localtime()#time.struct_time(tm_year=2

See all articles