[Scummvm-tracker] [ScummVM :: Bugs] #14853: COMMON: Rework path handling causes performance regression
ScummVM :: Bugs
trac at scummvm.org
Sat Jan 13 12:49:36 UTC 2024
#14853: COMMON: Rework path handling causes performance regression
-----------------------------------+---------------------
Reporter: mikrosk | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: Common
Version: | Resolution:
Keywords: performance,regression | Game:
-----------------------------------+---------------------
Comment (by wjp):
I see this same slowdown. Doing some quick experiments shows that almost
all of the slowdown is explained by `Path::equalsIgnoreCase()` and
`Path::hashIgnoreCase()`.
They seem to be going through the full string three times instead of just
once now (strchr for the separator, String constructor, and then the
actual hashing or comparison), also creating a bunch of temporary strings
in the process.
May be worth it to add a fast specialization for these for the non-escaped
variants?
--
Ticket URL: <https://bugs.scummvm.org/ticket/14853#comment:1>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list