Speed improvement doesn't matter if it's incorrect. The whole point of this change is to make this function locale-independent, i.e. parse numbers correctly even if the current locale uses comma as decimal separator. `strtod()` wouldn't work for this.