[[!comment format=mdwn username="joey" subject="""comment 6""" date="2019-11-22T22:18:02Z" content=""" After caching serialized Keys. Fri Nov 22 19:06 2019 Time and Allocation Profiling Report (Final) git-annex +RTS -p -RTS find total time = 3.00 secs (2997 ticks @ 1000 us, 1 processor) total alloc = 1,890,060,432 bytes (excludes profiling overheads) COST CENTRE MODULE SRC %time %alloc inAnnex'.\ Annex.Content Annex/Content.hs:(103,61)-(118,31) 28.2 40.6 keyFile' Annex.Locations Annex/Locations.hs:(564,1)-(574,30) 3.8 5.3 splitc Utility.Split Utility/Split.hs:(24,1)-(26,25) 3.7 5.1 _encodeFilePath Utility.FileSystemEncoding Utility/FileSystemEncoding.hs:(111,1)-(114,49) 3.1 2.7 encodeW8 Utility.FileSystemEncoding Utility/FileSystemEncoding.hs:(189,1)-(191,70) 3.0 3.6 w82s Utility.FileSystemEncoding Utility/FileSystemEncoding.hs:217:1-15 2.8 5.1 >>=.\.succ' Data.Attoparsec.Internal.Types Data/Attoparsec/Internal/Types.hs:146:13-76 2.8 0.2 >>=.\ Data.Attoparsec.Internal.Types Data/Attoparsec/Internal/Types.hs:(146,9)-(147,44) 2.5 0.7 getAnnexLinkTarget'.probesymlink Annex.Link Annex/Link.hs:78:9-62 2.4 2.5 fileKey' Annex.Locations Annex/Locations.hs:(583,1)-(593,41) 2.1 1.5 parseLinkTarget Annex.Link Annex/Link.hs:(254,1)-(262,25) 2.0 3.8 keyFile'.esc Annex.Locations Annex/Locations.hs:(570,9)-(574,30) 1.9 4.7 s2w8 Utility.FileSystemEncoding Utility/FileSystemEncoding.hs:214:1-15 1.7 3.5 keyPath Annex.Locations Annex/Locations.hs:(603,1)-(605,23) 1.6 3.5 getState Annex Annex.hs:(251,1)-(254,27) 1.6 0.3 parseKeyVariety Types.Key Types/Key.hs:(322,1)-(370,42) 1.4 0.0 withMutablePtrHint Basement.Block.Base Basement/Block/Base.hs:(468,1)-(482,50) 1.3 0.4 hashUpdates.\.\.\ Crypto.Hash Crypto/Hash.hs:85:48-99 1.2 0.0 parseLinkTargetOrPointer Annex.Link Annex/Link.hs:(239,1)-(243,25) 1.1 0.1 primitive Basement.Monad Basement/Monad.hs:72:5-18 1.1 0.0 withPtr.makeTrampoline Basement.Block.Base Basement/Block/Base.hs:(401,5)-(404,31) 1.0 0.6 assertLocal Git Git.hs:(123,1)-(129,28) 0.8 1.6 decodeBS' Utility.FileSystemEncoding Utility/FileSystemEncoding.hs:151:1-31 0.4 2.4 Runtime improved by 5% or so, and getAnnexLinkTarget moved up, otherwise not a lot of change. keyFile is looking like an optimization target, although its percent of the runtime actually reduced. However that's specific to this repo which has a lot of URL keys that contain '/' and so need to be escaped. Fri Nov 22 19:09 2019 Time and Allocation Profiling Report (Final) git-annex +RTS -p -RTS find --not --in web total time = 8.42 secs (8421 ticks @ 1000 us, 1 processor) total alloc = 1,887,547,744 bytes (excludes profiling overheads) COST CENTRE MODULE SRC %time %alloc catObjectDetails.\ Git.CatFile Git/CatFile.hs:(83,88)-(91,97) 8.1 4.1 catchMaybeIO Utility.Exception Utility/Exception.hs:53:1-63 7.6 2.2 parseResp Git.CatFile Git/CatFile.hs:(145,1)-(156,28) 5.2 5.6 >>=.\ Data.Attoparsec.Internal.Types Data/Attoparsec/Internal/Types.hs:(146,9)-(147,44) 5.0 2.0 >>=.\.succ' Data.Attoparsec.Internal.Types Data/Attoparsec/Internal/Types.hs:146:13-76 4.7 1.0 MAIN MAIN 4.2 0.4 getState Annex Annex.hs:(251,1)-(254,27) 2.0 1.1 getAnnexLinkTarget'.probesymlink Annex.Link Annex/Link.hs:78:9-62 1.9 2.6 splitc Utility.Split Utility/Split.hs:(24,1)-(26,25) 1.9 5.2 _encodeFilePath Utility.FileSystemEncoding Utility/FileSystemEncoding.hs:(111,1)-(114,49) 1.8 2.8 query.send Git.CatFile Git/CatFile.hs:141:9-32 1.7 0.5 keyFile' Annex.Locations Annex/Locations.hs:(564,1)-(574,30) 1.6 5.4 Ditto. """]]