-
Russ Cox authored
The old code was a depth first graph traversal that could, under the right conditions, end up re-exploring the same subgraphs multiple times, once for each way to arrive at that subgraph at a given depth. The new code uses a breadth first search to make sure that it only visits each reachable embedded struct once. Also add fast path for the trivial case. benchmark old ns/op new ns/op delta BenchmarkFieldByName1 1321 187 -85.84% BenchmarkFieldByName2 6118 5186 -15.23% BenchmarkFieldByName3 8218553 42112 -99.49% R=gri, r CC=golang-dev https://golang.org/cl/6458090
5e3224ce
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
all_test.go | ||
deepequal.go | ||
set_test.go | ||
tostring_test.go | ||
type.go | ||
value.go |