C generate uuid的方法與效率

2021-09-22 13:59:42 字數 993 閱讀 5608

1.boost計算uuid的方法

#include

#include

#include

#include

#include

std::string genuuid()

特點:跨平台使用,速度慢,非常低效,不能用在高速環境中,但是安全性好,多執行緒不會出現重複的uuid。

2.vc自帶方法

#include

#include

#include

std::string getuuid()

;_snprintf_s(buffer, sizeof(buffer),

"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",    //大寫

//"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",  //小寫

guid.data1, guid.data2, guid.data3,

guid.data4[0], guid.data4[1], guid.data4[2],

guid.data4[3], guid.data4[4], guid.data4[5],

guid.data4[6], guid.data4[7]);

struuid = buffer;

}return struuid;

}特點:windows環境中使用,速度快,適合於高速環境,基本保證多執行緒不重複。

3.linux環境的boost dev

編譯時需要boost dev的.o庫檔案支援,適合在linux的多執行緒環境中使用,速度和安全性都很不錯。

測試**:

#include

setset_uuid;

for (int i = 0; i < 100000; i++)

cout << "setcount=[" << set_uuid.size() << "]." << endl;

招標方的苦惱

客戶接觸spr前所面臨的度量 估算問題 作為專案招標方,該客戶需要對專案進行較為準確的估算以便從數十個投標方種選擇出合適的 商。客戶之前已制定了一些內部的估算規則,但現在希望能夠建立規範的估算流程並改進估算能力,能夠根據現有的屬性 成熟度和環境引數更準確的估算專案開發的工作量 人員配置 成本 等。s...

加速Mysql repair table的方法

set session myisam sort buffer size 256 1024 1024 set session read buffer size 64 1024 1024 set global myisam max sort file size 100 1024 1024 1024 se...

幻方的生成

幻方,有時又稱魔方 該稱呼現一般指立方體的魔術方塊 或縱橫圖,由一組排放在正方形中的整數組成,其每行 每列以及兩條對角線上的數之和均相等。通常幻方由從 幻方可以使用 根據幻方階數的不同,產生幻方的方法也不區別 一般可以分為下了三種情況 奇數階幻方 4m階幻方 4m 2階幻方 由於幻方的對稱性,也可以...