From a5fd51ebdc770b9ed81d318c148be8019961defb Mon Sep 17 00:00:00 2001 From: David Anderson Date: Wed, 5 Apr 2023 16:33:25 -0700 Subject: [PATCH] net/art: disable the IPv6 100k routes benchmark. At the current unoptimized memory utilization of the various data structures, 100k IPv6 routes consumes in the ballpark of 3-4GiB, which risks OOMing our 386 test machine. Until we have the optimizations to (drastically) reduce that consumption, skip the test that bloats too much for 32-bit machines. Signed-off-by: David Anderson --- net/art/table_test.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/net/art/table_test.go b/net/art/table_test.go index fc4c8312c..6780af2e7 100644 --- a/net/art/table_test.go +++ b/net/art/table_test.go @@ -205,7 +205,15 @@ func TestDeleteShuffled(t *testing.T) { } } -var benchRouteCount = []int{10, 100, 1000, 10_000, 100_000} +// 100k routes for IPv6, at the current size of strideTable and strideEntry, is +// in the ballpark of 4GiB if you assume worst-case prefix distribution. Future +// optimizations will knock down the memory consumption by over an order of +// magnitude, so for now just skip the 100k benchmarks to stay well away of +// OOMs. +// +// TODO(go/bug/7781): reenable larger table tests once memory utilization is +// optimized. +var benchRouteCount = []int{10, 100, 1000, 10_000} //, 100_000} // forFamilyAndCount runs the benchmark fn with different sets of // routes.