Home / Function/ Benchmark_FiberHandlerFunc_Parallel() — fiber Function Reference

Benchmark_FiberHandlerFunc_Parallel() — fiber Function Reference

Architecture documentation for the Benchmark_FiberHandlerFunc_Parallel() function in adaptor_test.go from the fiber codebase.

Entity Profile

Dependency Diagram

graph TD
  2b0939e2_8ca1_37f0_6972_5db951ce2bf3["Benchmark_FiberHandlerFunc_Parallel()"]
  8ec96b38_44b4_af66_6f6f_dd60f87b680c["adaptor_test.go"]
  2b0939e2_8ca1_37f0_6972_5db951ce2bf3 -->|defined in| 8ec96b38_44b4_af66_6f6f_dd60f87b680c
  style 2b0939e2_8ca1_37f0_6972_5db951ce2bf3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

middleware/adaptor/adaptor_test.go lines 1119–1194

func Benchmark_FiberHandlerFunc_Parallel(b *testing.B) {
	benchmarks := []struct {
		name        string
		bodyContent []byte
	}{
		{
			name:        "No Content",
			bodyContent: nil, // No body content case
		},
		{
			name:        "100KB",
			bodyContent: make([]byte, 100*1024),
		},
		{
			name:        "500KB",
			bodyContent: make([]byte, 500*1024),
		},
		{
			name:        "1MB",
			bodyContent: make([]byte, 1*1024*1024),
		},
		{
			name:        "5MB",
			bodyContent: make([]byte, 5*1024*1024),
		},
		{
			name:        "10MB",
			bodyContent: make([]byte, 10*1024*1024),
		},
		{
			name:        "25MB",
			bodyContent: make([]byte, 25*1024*1024),
		},
		{
			name:        "50MB",
			bodyContent: make([]byte, 50*1024*1024),
		},
	}

	fiberH := func(c fiber.Ctx) error {
		return c.SendStatus(fiber.StatusOK)
	}
	handlerFunc := FiberHandlerFunc(fiberH)

	for _, bm := range benchmarks {
		b.Run(bm.name, func(b *testing.B) {
			var bodyBuffer *bytes.Buffer

			// Handle the "No Content" case where bodyContent is nil
			if bm.bodyContent != nil {
				bodyBuffer = bytes.NewBuffer(bm.bodyContent)
			} else {
				bodyBuffer = bytes.NewBuffer([]byte{}) // Empty buffer for no content
			}

			b.ReportAllocs()
			b.ResetTimer()

			b.RunParallel(func(pb *testing.PB) {
				w := httptest.NewRecorder()
				r := http.Request{
					Method: http.MethodPost,
					Body:   nil,
				}

				// Replace the empty Body with our buffer
				r.Body = io.NopCloser(bodyBuffer)
				defer r.Body.Close() //nolint:errcheck // not needed

				for pb.Next() {
					handlerFunc(w, &r)
				}
			})
		})
	}
}

Domain

Subdomains

Frequently Asked Questions

What does Benchmark_FiberHandlerFunc_Parallel() do?
Benchmark_FiberHandlerFunc_Parallel() is a function in the fiber codebase, defined in middleware/adaptor/adaptor_test.go.
Where is Benchmark_FiberHandlerFunc_Parallel() defined?
Benchmark_FiberHandlerFunc_Parallel() is defined in middleware/adaptor/adaptor_test.go at line 1119.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free