Implement assert_same_structure in C++
Also implements helper functions nest._is_namedtuple
nest._same_namedtuple.
Also, fix a bug in FlattenHelper where error from recursive
calls were not propagated up immediately.
This change implements a good chunk of machinery that will
allow us to move map_structure to C++.
Before:
entry {
name: "NestBenchmark.assert_same_structure_6_elem"
iters: 30000
wall_time: 4.79532718658e-05
}
entry {
name: "NestBenchmark.assert_same_structure_60_elem"
iters: 30000
wall_time: 0.000403008667628
}
After:
entry {
name: "NestBenchmark.assert_same_structure_6_elem"
iters: 30000
wall_time: 1.65301720301e-05
}
entry {
name: "NestBenchmark.assert_same_structure_60_elem"
iters: 30000
wall_time: 0.000147621099154
}
PiperOrigin-RevId: 190869007
Loading
Please sign in to comment