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)
| 1917 | // - non-unique doc ids? |
| 1918 | |
| 1919 | func 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 | } |
nothing calls this directly
no test coverage detected