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

Function BenchmarkProcessEntry

db/change_cache_test.go:1759–1845  ·  view source on GitHub ↗

Cases for ProcessEntry 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 se

(b *testing.B)

Source from the content-addressed store, hash-verified

1757// - non-unique doc ids?
1758
1759func BenchmarkProcessEntry(b *testing.B) {
1760 base.SetUpBenchmarkLogging(b, base.LevelError, base.KeyCache, base.KeyChanges)
1761 processEntryBenchmarks := []struct {
1762 name string
1763 feed *testProcessEntryFeed
1764 warmCacheCount int
1765 }{
1766 {
1767 "SingleThread_OrderedFeed_NoActiveChannels",
1768 NewTestProcessEntryFeed(100, 1),
1769 0,
1770 },
1771 {
1772 "SingleThread_OrderedFeed_ActiveChannels",
1773 NewTestProcessEntryFeed(100, 1),
1774 100,
1775 },
1776 {
1777 "SingleThread_OrderedFeed_ManyActiveChannels",
1778 NewTestProcessEntryFeed(35000, 1),
1779 35000,
1780 },
1781 {
1782 "SingleThread_NonOrderedFeed_NoActiveChannels",
1783 NewTestProcessEntryFeed(100, 10),
1784 0,
1785 },
1786 {
1787 "SingleThread_NonOrderedFeed_ActiveChannels",
1788 NewTestProcessEntryFeed(100, 10),
1789 100,
1790 },
1791 {
1792 "SingleThread_NonOrderedFeed_ManyActiveChannels",
1793 NewTestProcessEntryFeed(35000, 10),
1794 35000,
1795 },
1796 }
1797
1798 for _, bm := range processEntryBenchmarks {
1799 b.Run(bm.name, func(b *testing.B) {
1800 ctx := base.TestCtx(b)
1801 context, err := NewDatabaseContext(ctx, "db", base.GetTestBucket(b), false, DatabaseContextOptions{})
1802 require.NoError(b, err)
1803 defer context.Close(ctx)
1804
1805 ctx = context.AddDatabaseLogContext(ctx)
1806 err = context.StartOnlineProcesses(ctx)
1807 require.NoError(b, err)
1808
1809 collection := GetSingleDatabaseCollection(b, context)
1810 collectionID := collection.GetCollectionID()
1811
1812 changeCache := &changeCache{}
1813 if err := changeCache.Init(ctx, context, context.channelCache, nil, nil, context.MetadataKeys); err != nil {
1814 log.Printf("Init failed for changeCache: %v", err)
1815 b.Fail()
1816 }

Callers

nothing calls this directly

Calls 15

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

Tested by

no test coverage detected