| ▲ | asveikau 4 hours ago | |||||||
> After identifying the small misbehaving function, we had to study the C++ code pretty hard to even understand what the problem was. I don't remember the exact nature of the bug, but I do remember thinking that particular type of bug would be hard to express in Python, and that's exactly why it was accidentally fixed. Pure speculation, but I would guess this has something to do with a copy constructor getting invoked in a place you wouldn't guess, that ends up in a critical path. | ||||||||
| ▲ | andrewflnr 3 hours ago | parent | next [-] | |||||||
Given the context, I'm thinking bad cache keys resulting in spurious cache misses, where the keys are built in some low-level way. Cache misses almost certainly have a bigger asymptotic impact than extra copies, unless that copy constructor is really heavy. | ||||||||
| ||||||||
| ▲ | NooneAtAll3 4 hours ago | parent | prev [-] | |||||||
good ol' shallow-vs-deep copy | ||||||||