[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