Add another cascade benchmark
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 10 Feb 2022 19:37:10 +0000 (20:37 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Thu, 10 Feb 2022 19:40:49 +0000 (20:40 +0100)
hugolib/cascade_test.go

index 000b641e54da81ed019b4a22e4f0bfb7967114bc..836a00e2a47dff7af370931d4346c84ff964c03f 100644 (file)
@@ -52,6 +52,43 @@ func BenchmarkCascade(b *testing.B) {
        }
 }
 
+func BenchmarkCascadeTarget(b *testing.B) {
+       files := `
+-- content/_index.md --
+background = 'yosemite.jpg'
+[cascade._target]
+kind = '{section,term}'
+-- content/posts/_index.md --
+-- content/posts/funny/_index.md --
+`
+
+       for i := 1; i < 100; i++ {
+               files += "\n-- content/posts/p1.md --\n"
+       }
+
+       for i := 1; i < 100; i++ {
+               files += "\n-- content/posts/funny/pf1.md --\n"
+       }
+
+       b.Run("Kind", func(b *testing.B) {
+               cfg := IntegrationTestConfig{
+                       T:           b,
+                       TxtarString: files,
+               }
+               builders := make([]*IntegrationTestBuilder, b.N)
+
+               for i, _ := range builders {
+                       builders[i] = NewIntegrationTestBuilder(cfg)
+               }
+
+               b.ResetTimer()
+
+               for i := 0; i < b.N; i++ {
+                       builders[i].Build()
+               }
+       })
+}
+
 func TestCascadeConfig(t *testing.T) {
        c := qt.New(t)
 
@@ -106,13 +143,10 @@ cascade:
                                        "draft":         bool(false),
                                        "iscjklanguage": bool(false),
                                })
-
                        }
-
                })
 
        }
-
 }
 
 func TestCascade(t *testing.T) {