4 ms·
I would expect however that a regex replacement would be much faster than your N^2 while loop.
by teaearlgraycold 9mo ago
I would expect however that a regex replacement would be much faster than your N^2 while loop.
- notpushkin 9mo agoIt would be, if it was a common situation. This loop handles cases like `eggtools._spam` → `eggtools-spam`, which is probably rare (I guess it’s for packages that export namespaced modules, and you probably don’t want to export _private modules; sorry in advance for non-pythonic terminology). Having more than two separator characters in a row is even more unusual.
- dgrunwald 9mo agoThat loop isn't N²: if there are long sequences of dashes, every iteration will cut the lengths of those sequences in half. So the loop has at most lg(N) iterations, for a O(N*lg(N)) total runtime.