本發(fā)明實(shí)施例涉及計(jì)算機(jī),特別是涉及一種程序運(yùn)行時長檢測方法、裝置、電子設(shè)備及可讀介質(zhì)。
背景技術(shù):
1、目前,為了對程序進(jìn)行優(yōu)化,需要檢測程序的性能指標(biāo),以基于性能指標(biāo)進(jìn)行性能評估。程序的運(yùn)行時長作為度量程序性能的重要指標(biāo),經(jīng)常需要檢測程序的運(yùn)行時長。
2、現(xiàn)有技術(shù)中,通常是直接采用默認(rèn)時間源檢測程序的運(yùn)行時長。這種方式中,檢測方式的局限性較大,存在檢測到的運(yùn)行時長不準(zhǔn)確的問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明實(shí)施例提供一種程序運(yùn)行時長檢測方法、裝置、電子設(shè)備及可讀介質(zhì),可以以降低檢測方式的局限性,提高時長檢測準(zhǔn)確性。
2、為了解決上述問題,本發(fā)明實(shí)施例公開了一種程序運(yùn)行時長檢測方法,所述方法包括:
3、響應(yīng)于時長檢測指令,若電子設(shè)備的cpu支持第一時間源,則基于所述第一時間源,檢測目標(biāo)程序的運(yùn)行時長;
4、若所述cpu不支持所述第一時間源,且所述cpu支持第二時間源,則基于所述第二時間源,檢測所述目標(biāo)程序的運(yùn)行時長;
5、若所述cpu不支持所述第一時間源及所述第二時間源,則基于默認(rèn)時間源,檢測所述目標(biāo)程序的運(yùn)行時長;其中,所述第一時間源以及所述第二時間源對應(yīng)的檢測指標(biāo)優(yōu)于所述默認(rèn)時間源對應(yīng)的檢測指標(biāo)。
6、另一方面,本發(fā)明實(shí)施例公開了一種程序運(yùn)行時長檢測裝置,所述裝置包括:
7、第一檢測模塊,用于響應(yīng)于時長檢測指令,若電子設(shè)備的cpu支持第一時間源,則基于所述第一時間源,檢測目標(biāo)程序的運(yùn)行時長;
8、第二檢測模塊,用于若所述cpu不支持所述第一時間源,且所述cpu支持第二時間源,則基于所述第二時間源,檢測所述目標(biāo)程序的運(yùn)行時長;
9、第三檢測模塊,用于若所述cpu不支持所述第一時間源及所述第二時間源,則基于默認(rèn)時間源,檢測所述目標(biāo)程序的運(yùn)行時長;其中,所述第一時間源以及所述第二時間源對應(yīng)的檢測指標(biāo)優(yōu)于所述默認(rèn)時間源對應(yīng)的檢測指標(biāo)。
10、又一方面,本發(fā)明實(shí)施例公開了一種電子設(shè)備,包括:處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線完成相互間的通信;所述存儲器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行前述的方法。
11、本發(fā)明實(shí)施例還公開了一種機(jī)器可讀介質(zhì),其上存儲有指令,當(dāng)由一個或多個處理器執(zhí)行時,使得所述處理器執(zhí)行如上述所述的方法。
12、本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):本發(fā)明實(shí)施例提供的程序運(yùn)行時長檢測方法中,響應(yīng)于時長檢測指令,若電子設(shè)備的cpu支持第一時間源,則基于第一時間源,檢測目標(biāo)程序的運(yùn)行時長。若cpu不支持第一時間源,且cpu支持第二時間源,則基于第二時間源,檢測目標(biāo)程序的運(yùn)行時長。若cpu不支持第一時間源及第二時間源,則基于默認(rèn)時間源,檢測目標(biāo)程序的運(yùn)行時長。相較于直接使用默認(rèn)時間源進(jìn)行檢測的方式,由于第一時間源以及第二時間源對應(yīng)的檢測指標(biāo)優(yōu)于所述默認(rèn)時間源對應(yīng)的檢測指標(biāo)。本發(fā)明實(shí)施例中,通過檢測cpu是否支持第一時間源、第二時間源進(jìn)行分析判斷。在cpu支持第一時間源、第二時間源的情況下,優(yōu)先使用檢測指標(biāo)更優(yōu)的時間源對程序運(yùn)行時長進(jìn)行檢測。這樣,可以降低檢測方式的局限性,使檢測到的程序運(yùn)行時長更加精確,以在開發(fā)中更準(zhǔn)確評估程序的性能。
1.一種程序運(yùn)行時長檢測方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述方法,其特征在于,所述電子設(shè)備中預(yù)先配置有第一預(yù)設(shè)變量以及第二預(yù)設(shè)變量;所述第一預(yù)設(shè)變量用于表征所述cpu是否支持所述第一時間源,所述第二預(yù)設(shè)變量用于表征所述cpu是否支持所述第二時間源;所述方法還包括:
3.根據(jù)權(quán)利要求2所述方法,其特征在于,所述第一時間源為不變時間戳計(jì)數(shù)器;所述第一預(yù)設(shè)變量的值通過下述方式預(yù)先設(shè)置:
4.根據(jù)權(quán)利要求2所述方法,其特征在于,所述第二時間源為恒定頻率計(jì)時器;所述第二預(yù)設(shè)變量的值通過下述方式預(yù)先設(shè)置:
5.根據(jù)權(quán)利要求1-4任一所述方法,其特征在于,所述基于所述第一時間源,檢測目標(biāo)程序的運(yùn)行時長,包括:
6.根據(jù)權(quán)利要求1-4任一所述方法,其特征在于,所述基于所述第二時間源,檢測所述目標(biāo)程序的運(yùn)行時長,包括:
7.一種程序運(yùn)行時長檢測裝置,其特征在于,所述裝置包括:
8.根據(jù)權(quán)利要求7所述裝置,其特征在于,所述電子設(shè)備中預(yù)先配置有第一預(yù)設(shè)變量以及第二預(yù)設(shè)變量;所述第一預(yù)設(shè)變量用于表征所述cpu是否支持所述第一時間源,所述第二預(yù)設(shè)變量用于表征所述cpu是否支持所述第二時間源;所述裝置還包括:
9.根據(jù)權(quán)利要求8所述裝置,其特征在于,所述第一時間源為不變時間戳計(jì)數(shù)器;所述第一預(yù)設(shè)變量的值通過下述模塊預(yù)先設(shè)置:
10.根據(jù)權(quán)利要求8所述裝置,其特征在于,所述第二時間源為恒定頻率計(jì)時器;所述第二預(yù)設(shè)變量的值通過下述模塊預(yù)先設(shè)置:
11.根據(jù)權(quán)利要求7-10任一所述裝置,其特征在于,所述第一檢測模塊,具體用于:
12.根據(jù)權(quán)利要求7-10任一所述裝置,其特征在于,所述第二檢測模塊,具體用于:
13.一種電子設(shè)備,其特征在于,包括:處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線完成相互間的通信;所述存儲器用于存放可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如權(quán)利要求1至6中任一項(xiàng)所述的方法。
14.一個或多個機(jī)器可讀介質(zhì),其特征在于,其上存儲有指令,當(dāng)由一個或多個處理器執(zhí)行時,使得所述處理器執(zhí)行如權(quán)利要求1-6任一項(xiàng)所述的方法。