Skip to content

net/http: ServeMux benchmark regression #25383

Closed
@quasilyte

Description

@quasilyte

There is notable difference in Go1.10.2 and tip BenchmarkServeMux results:

name        old time/op    new time/op    delta
ServeMux-4     127µs ± 1%     156µs ± 1%  +23.04%  (p=0.008 n=5+5)

On other machine:
ServeMux-4       143µs ±11%      165µs ± 7%    +15.44%  (p=0.008 n=5+5)

And another machine:
ServeMux-8    85.1µs ± 3%    95.0µs ± 6%  +11.61%  (p=0.008 n=5+5)

The most significant impact comes from additional synchronization added in 2fd1b52. The commit message lacks benchmarks info, so I think it's worthwhile to report regression anyway and decide whether it can be addressed or not (we can't just remove locking if it's needed there, but there can be other options).

There are other causes of slowdown as commit right behind 2fd1b52 is still slower (but the delta is more tolerable):

name        old time/op    new time/op    delta
ServeMux-4     127µs ± 1%     135µs ± 1%  +6.43%  (p=0.008 n=5+5)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions