當前位置: 首頁>>代碼示例>>Golang>>正文


Golang B.Cursor方法代碼示例

本文整理匯總了Golang中testing.B.Cursor方法的典型用法代碼示例。如果您正苦於以下問題:Golang B.Cursor方法的具體用法?Golang B.Cursor怎麽用?Golang B.Cursor使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在testing.B的用法示例。


在下文中一共展示了B.Cursor方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: BenchmarkGetParameters

func BenchmarkGetParameters(b *testing.B) {
	group := "testdb"
	// generate the fingerprintsInMemory
	fingerprintsInMemory := make(map[string]Fingerprint)
	var fingerprintsOrdering []string
	db, err := bolt.Open(path.Join(RuntimeArgs.SourcePath, group+".db"), 0600, nil)
	if err != nil {
		log.Fatal(err)
	}
	db.View(func(tx *bolt.Tx) error {
		b := tx.Bucket([]byte("fingerprints"))
		c := b.Cursor()
		for k, v := c.First(); k != nil; k, v = c.Next() {
			fingerprintsInMemory[string(v)] = loadFingerprint(v)
			fingerprintsOrdering = append(fingerprintsOrdering, string(v))
		}
		return nil
	})
	db.Close()

	var ps = *NewFullParameters()
	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		getParameters(group, &ps, fingerprintsInMemory, fingerprintsOrdering)
	}
}
開發者ID:schollz,項目名稱:find,代碼行數:26,代碼來源:parameters_test.go

示例2: BenchmarkGetFingerprintInDatabase

func BenchmarkGetFingerprintInDatabase(b *testing.B) {
	for i := 0; i < b.N; i++ {
		group := "testdb"
		db, _ := bolt.Open(path.Join(RuntimeArgs.SourcePath, group+".db"), 0600, nil)
		db.View(func(tx *bolt.Tx) error {
			// Assume bucket exists and has keys
			b := tx.Bucket([]byte("fingerprints"))
			c := b.Cursor()
			for k, v := c.First(); k != nil; k, v = c.Next() {
				loadFingerprint(v)
				break
			}
			return nil
		})
		db.Close()
	}
}
開發者ID:schollz,項目名稱:find,代碼行數:17,代碼來源:fingerprint_test.go

示例3: BenchmarkCrossValidation

func BenchmarkCrossValidation(b *testing.B) {
	group := "testdb"

	// generate the fingerprintsInMemory
	fingerprintsInMemory := make(map[string]Fingerprint)
	var fingerprintsOrdering []string
	db, err := bolt.Open(path.Join(RuntimeArgs.SourcePath, group+".db"), 0600, nil)
	if err != nil {
		log.Fatal(err)
	}
	db.View(func(tx *bolt.Tx) error {
		b := tx.Bucket([]byte("fingerprints"))
		c := b.Cursor()
		for k, v := c.First(); k != nil; k, v = c.Next() {
			fingerprintsInMemory[string(k)] = loadFingerprint(v)
			fingerprintsOrdering = append(fingerprintsOrdering, string(k))
		}
		return nil
	})
	db.Close()

	var ps = *NewFullParameters()
	getParameters(group, &ps, fingerprintsInMemory, fingerprintsOrdering)
	calculatePriors(group, &ps, fingerprintsInMemory, fingerprintsOrdering)
	var results = *NewResultsParameters()
	for n := range ps.Priors {
		ps.Results[n] = results
	}

	b.ResetTimer()
	for i := 0; i < b.N; i++ {
		for n := range ps.Priors {
			ps.Priors[n].Special["MixIn"] = 0.5
			ps.Priors[n].Special["VarabilityCutoff"] = 0.005
			crossValidation(group, n, &ps, fingerprintsInMemory, fingerprintsOrdering)
			break
		}
	}
}
開發者ID:schollz,項目名稱:find,代碼行數:39,代碼來源:priors_test.go


注:本文中的testing.B.Cursor方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。