亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于腳本執行代碼時間?

關于腳本執行代碼時間?

<?php? //1 function?microtime_float() ?{ ?list($usec,$sec)=explode("?",microtime()); ?return?((float)$usec+(float)$sec); ?} ?$time_start=microtime_float(); ?usleep(1000); ?$time_end=microtime_float(); ?$time=round($time_end-$time_start,8); ?echo?"執行該腳本花費了($time)秒"; //2 ? $stime=microtime(); $etime=microtime(); $total=round($stime-$etime,8); echo?"<br>腳本執行時間為{$total}秒"; ?>問題一:這兩種方法為什么結果不一樣?問題二:執行同一段代碼,為什么每次得到的值都會變化?問題三:為什么第一種要延遲1000微秒,而第二種不要?希望不要覺得我啰嗦。。。
查看完整描述

3 回答

已采納
?
KevenHuang

TA貢獻280條經驗 獲得超233個贊

第二種是有錯誤的,microtime返回的是微秒數 空格 時間戳 這種形式的,是不能進行直接加減的,必須傳入一個true參數,返回的才是一個小數型的時間戳,第二種也可以和第一種一樣的,在$stime和$etime之間延遲1000微妙,但這兩種方法有一個區別就是精度問題,第一種的精度要高于第二種,第一種小數點是8位的,第二種小數點是4位。而每次執行一段代碼,執行時間都會有很細微的不一致,不可能每次執行時間的一模一樣的。

查看完整回答
1 反對 回復 2017-01-31
  • 錯過了年華
    錯過了年華
    執行的不都是同一段代碼嗎?在不同的時間執行為什么得出的結果不一樣?
  • KevenHuang
    KevenHuang
    你只要知道每次執行同一段代碼都不可能有絕對相同的執行時間就行了,都會有細小的誤差,程序的執行是經過cpu高速運算的,cpu處理的效率就決定了你代碼的執行時間,比如你第一次執行代碼時,計算機運行非常流暢,執行效率自然非常高,而你下一次運行時剛好計算機卡頓,執行效率就很低,這樣就會造成兩次執行同一代碼的時間不完全一致,這是很容易理解的,不知道我這樣回答你能不能接受。
  • 錯過了年華
    錯過了年華
    謝謝。
?
箬葉

TA貢獻1條經驗 獲得超0個贊

在未學精之前,何須擔心時間
查看完整回答
反對 回復 2017-01-31
  • 3 回答
  • 0 關注
  • 1738 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號