const NUM int = 100
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了平潭免費建站歡迎大家使用!
for i := 0; i NUM; i += 1 {
rand.Seed(int64(i))
fmt.Printf("%d\t", rand.Int63n(int64(NUM)))
}
其實在循環(huán)里面這點時間間隔,納秒也是跟不上的。
還有,你用sleep的方法肯定是不能接受的?。?!
#include stdio.h
#include stdlib.h
#include time.h //用到了time函數(shù)
int main()
{ int i,number;
srand((unsigned) time(NULL)); //用時間做種,每次產(chǎn)生隨機數(shù)不一樣
for (i=0; i50; i++)
{
number = rand() % 101; //產(chǎn)生0-100的隨機數(shù)
printf("%d ", number);
}
return 0;
}
之前寫過了Go語言gorm框架MySQL實踐,其中對gorm框架在操作MySQL的各種基礎(chǔ)實踐,下面分享一下如何使用gorm框架對MySQL直接進行性能測試的簡單實踐。
這里我使用了一個原始的Go語言版本的 FunTester 測試框架,現(xiàn)在只有一個基本的方法,實在是因為Go語言特性太強了??蚣茉O(shè)計的主要思路之一就是利用Go語言的閉包和方法參數(shù)特性,將一個 func() 當(dāng)做性能測試的主題,通過不斷運行這個 func() 來實現(xiàn)性能測試。當(dāng)然還有另外一個思路就是運行一個多線程任務(wù)類,類似 Java 版本的 com.funtester.base.constaint.ThreadBase 抽象類,這樣可以設(shè)置一些類的屬性,綁定一些測試資源,適配更多的測試場景。
下面演示select的性能測試,這里我用了隨機ID查詢的場景。
這里我使用從35開始遞增的ID進行刪除。
這里使用了select的用例部分,隨機ID,然后更新name字段,隨機10個長度的字符串。
這里用到了 FunTester 字段都是隨機生成。
到這里可以看出,性能測試框架用到的都是gorm框架的基礎(chǔ)API使用,這里MySQL連接池的管理工作完全交給了gorm框架完成,看資料說非常牛逼,我們只需要設(shè)置幾個參數(shù)。這個使用體現(xiàn)很像 HttpClient 設(shè)置 HTTP 連接池類似,這里我們也可以看出這些優(yōu)秀的框架使用起來都是非常簡單的。
PS:關(guān)于gorm的基礎(chǔ)使用的請參考上一期的文章Go語言gorm框架MySQL實踐。
math/rand 中的所有整數(shù)函數(shù)都生成非負數(shù).
示例 main.go
執(zhí)行
同理,需要int64 int32類型的隨機數(shù)只要修改隨機函數(shù)
但是需要注意 math/rand 幾個函數(shù)的取值區(qū)間!如Intn的范圍[0, n)。[0,20),20會取不到
我自己的需求這樣寫已足夠