Beispiel #1
0
func initGet() {
	init := func(st crawler.Store) {
		for i := 0; i < bench_get_size; i++ {
			now := time.Now().UTC()
			st.PutNX(&crawler.URL{
				URL:  *mustParse(fmt.Sprintf("http://example.com/foo/bar/%d", i)),
				Last: now,
			})
		}
	}
	testMem.once.Do(func() {
		testMem.store = crawler.NewMemStore()
		init(testMem.store)
	})
	testBolt.once.Do(func() {
		os.Remove(tmpbolt)
		testBolt.store, _ = boltstore.New(tmpbolt, nil, nil)
		init(testBolt.store)
	})
	testLevel.once.Do(func() {
		os.RemoveAll(tmplevel)
		testLevel.store, _ = levelstore.New(tmplevel, nil, nil)
		init(testLevel.store)
	})
}
Beispiel #2
0
func TestLevel(t *testing.T) {
	tmpdir, err := ioutil.TempDir("", "test_level")
	if err != nil {
		t.Fatal(err)
	}
	defer os.RemoveAll(tmpdir)

	ls, err := levelstore.New(tmpdir, nil, nil)
	if err != nil {
		t.Fatal(err)
	}
	StoreTest(t, ls)
}
Beispiel #3
0
func BenchmarkLevelPut(b *testing.B) {
	tmpdir, err := ioutil.TempDir("", "test_level")
	if err != nil {
		b.Fatal(err)
	}
	defer os.RemoveAll(tmpdir)

	ls, err := levelstore.New(tmpdir, nil, nil)
	if err != nil {
		b.Fatal(err)
	}
	// b.N = 500
	benchPut(b, ls, "LevelStore")
}