iOS 效能優化之業務效能監控

2021-07-24 11:01:58 字數 1444 閱讀 8099

第一種: nsdate 精確度可能是微秒(μs)

nsdate* tmpstartdata =[nsdate date];

//you code here...

double deltatime =[[nsdate date] timeintervalsincedate:tmpstartdata];

nslog(

@"cost time = %f s

", deltatime);

第二種:clock_t 精確度可能是微秒(μs)

clock_t start =clock();

//dosomething

clock_t end =clock();

nslog(

@"時間損耗 %f s

", (double)(end - start)/clocks_per_sec);

第三種:cfabsolutetime 精確度可能是微秒(μs)

cfabsolutetime start =cfabsolutetimegetcurrent();

//you code here...

cfabsolutetime end =cfabsolutetimegetcurrent();

nslog(

@"cost time = %f s

", end - start); //s

第四種:cftimeinterval 精確度納秒(ns)

cftimeinterval start =cacurrentmediatime();

//dosomething

cftimeinterval end =cacurrentmediatime();

nslog(

@"時間損耗 = %f s

", end - start);

第五種:mach_absolute_time 精確度納秒(ns) 

uint64_t start =mach_absolute_time ();

// operation();

uint64_t end =mach_absolute_time ();

uint64_t elapsed = 1e-9 *(end - start);

以上五種方法,實際可用的是最後兩種,這五種都有什麼關係呢?

nsdate -> gettimeofday  -> mach_absolute_time

csdn:

mach_absolute_time 詳解

clock_t 是不可靠的

附錄:

特點:1. 增加了block形式支援 --不推薦使用 t_t

2. 支援單元測試標題輸出

3. 支援同步、非同步測試

4. 納秒級精確度,預設是毫秒輸出,精確度微秒

首發:

Web業務效能優化技術總結

web業務的效能優化是乙個系統工程,既有深度,又有廣度。以下所簡稱效能均特指web業務效能。技術的廣度上,主要從大背景下考慮到其各個相關方,基於共同的資料指標發掘和評估方案。技術的深度上是乙個漸進和迭代的過程。可以從效能的本質展到目前各端的主要優化方向。效能的本質是快速傳播,要素是內容 資料 和流程...

效能優化 iOS

如果需要更詳細的資訊,那就將dyld print statistics details設定為1 2.1關於dyld 用machoview 檢視載入過程如上圖 備註1 如果設定了 dyld print libraries,或者選中run diagnostics 下面的 dynamic library ...

iOS效能優化 TableView

下面介紹一些我們可以自己設定的新能優化 1 盡量不透明的檢視 不透明檢視可以極大提高渲染的速度.因此如果可以,將 cell 及其子檢視的 opaque 屬性設定為 yes 預設值 cell 的 backgroundcolor 的 apha 值應為1 不要使用 clearcolor 影象的 apha ...