MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / BenchmarkDocChanged

Function BenchmarkDocChanged

db/change_cache_test.go:1919–2008  ·  view source on GitHub ↗

Cases for DocChanged benchmarking - single thread, ordered sequence arrival, non-initialized cache, 100 channels - single thread, ordered sequence arrival, initialized cache, 100 channels - single thread, unordered sequence arrival, non-initialized cache, 100 channels - single thread, unordered sequ

(b *testing.B)

Source from the content-addressed store, hash-verified

1917// - non-unique doc ids?
1918
1919func BenchmarkDocChanged(b *testing.B) {
1920 base.SetUpBenchmarkLogging(b, base.LevelError, base.KeyCache, base.KeyChanges)
1921 processEntryBenchmarks := []struct {
1922 name string
1923 feed *testDocChangedFeed
1924 warmCacheCount int
1925 }{
1926 {
1927 "SingleThread_OrderedFeed_NoActiveChannels",
1928 NewTestDocChangedFeed(100, 1),
1929 0,
1930 },
1931 {
1932 "SingleThread_OrderedFeed_ActiveChannels",
1933 NewTestDocChangedFeed(100, 1),
1934 100,
1935 },
1936 {
1937 "SingleThread_OrderedFeed_ManyActiveChannels",
1938 NewTestDocChangedFeed(35000, 1),
1939 35000,
1940 },
1941 {
1942 "SingleThread_NonOrderedFeed_NoActiveChannels",
1943 NewTestDocChangedFeed(100, 10),
1944 0,
1945 },
1946 {
1947 "SingleThread_NonOrderedFeed_ActiveChannels",
1948 NewTestDocChangedFeed(100, 10),
1949 100,
1950 },
1951 {
1952 "SingleThread_NonOrderedFeed_ManyActiveChannels",
1953 NewTestDocChangedFeed(35000, 10),
1954 35000,
1955 },
1956 }
1957
1958 for _, bm := range processEntryBenchmarks {
1959 b.Run(bm.name, func(b *testing.B) {
1960 ctx := base.TestCtx(b)
1961 context, err := NewDatabaseContext(ctx, "db", base.GetTestBucket(b), false, DatabaseContextOptions{})
1962 require.NoError(b, err)
1963 defer context.Close(ctx)
1964
1965 err = context.StartOnlineProcesses(ctx)
1966 require.NoError(b, err)
1967
1968 collection := GetSingleDatabaseCollection(b, context)
1969 collectionID := collection.GetCollectionID()
1970
1971 ctx = context.AddDatabaseLogContext(ctx)
1972 changeCache := &changeCache{}
1973 if err := changeCache.Init(ctx, context, context.channelCache, nil, nil, context.MetadataKeys); err != nil {
1974 log.Printf("Init failed for changeCache: %v", err)
1975 b.Fail()
1976 }

Callers

nothing calls this directly

Calls 15

CloseMethod · 0.95
StartOnlineProcessesMethod · 0.95
AddDatabaseLogContextMethod · 0.95
InitMethod · 0.95
StartMethod · 0.95
StopMethod · 0.95
GetChangesMethod · 0.95
DocChangedMethod · 0.95
SetUpBenchmarkLoggingFunction · 0.92
TestCtxFunction · 0.92
GetTestBucketFunction · 0.92
NewIDFunction · 0.92

Tested by

no test coverage detected