Skip to content
Failed

Changes

Summary

  1. Only convert to array once per pass (commit: 5fe79fd) (details)
  2. Make node matching its own method (commit: 20e6192) (details)
  3. Loop only applies to edit patches (commit: 244af1a) (details)
  4. Don't convert to an array at all (commit: cdeb5f7) (details)
  5. Ensure that user gets updates during long passes (commit: 30eeb6f) (details)
  6. Without switch, i is valid here (commit: 7e42de5) (details)
  7. Ensure time between each check of the log queue (commit: dc1a167) (details)
  8. Convert to an array initially (commit: ec5310b) (details)
  9. Having an actual array here no longer necessary (commit: 7cc6c51) (details)
  10. Apparently Linq slows things down (commit: bd82d53) (details)
  11. Improve access of name a bit (commit: ce3893f) (details)
  12. Move loop out of loop (commit: 203ad88) (details)
Commit 5fe79fd6b901eed0768ec3452ab65c97389b2971 by joeydwong
Only convert to array once per pass
This is expensive
(commit: 5fe79fd)
The file was modified ModuleManager/PatchApplier.cs (diff)
Commit 20e619287f1e8637476ada51f3a2470200b9b09b by joeydwong
Make node matching its own method
Saves a level of indentation
(commit: 20e6192)
The file was modified ModuleManager/PatchApplier.cs (diff)
Commit 244af1ac93d9c32a017666ff0e59e88d01c75449 by joeydwong
Loop only applies to edit patches
Saves another indentation level.  Also remove MM_PATCH_LOOP {} after
done
(commit: 244af1a)
The file was modified ModuleManagerTests/PatchApplierTest.cs (diff)
The file was modified ModuleManager/PatchApplier.cs (diff)
Commit cdeb5f76dbf574eb5d310c71ea5cc605f7077508 by joeydwong
Don't convert to an array at all
It's not necessary.  Also don't use switch - makes things cleaner.  It's
only 3 cases anyway
(commit: cdeb5f7)
The file was modified ModuleManager/PatchApplier.cs (diff)
The file was modified ModuleManagerTests/PatchApplierTest.cs (diff)
Commit 30eeb6f3c1a6ba1525b762ef6583f362b84e64ab by joeydwong
Ensure that user gets updates during long passes
The patcher can potentially generate log messages faster than the main
thread can log them, causing frames that are noticeably long with no
updates.  This ensures that yields still happen then.
Verified that this does not meaningfully affect performance.  Previous
tests suggest that the time wasted by waiting until the next frame is
relatively small.
(commit: 30eeb6f)
The file was modified ModuleManager/MMPatchLoader.cs (diff)
Commit 7e42de5a4e85a83ef6711885255a9f1b8b64aa0d by joeydwong
Without switch, i is valid here
(commit: 7e42de5)
The file was modified ModuleManager/PatchApplier.cs (diff)
Commit dc1a167b0874120c893962e097388bd8be2a84e3 by joeydwong
Ensure time between each check of the log queue
This prevents the queue from being locked too often, slowing down the
patching thread
(commit: dc1a167)
The file was modified ModuleManager/MMPatchLoader.cs (diff)
Commit ec5310bdfa4ebd10da8de9e675a2150d3beff098 by joeydwong
Convert to an array initially
Apparently it saves a bit of time, and this won't be changed while
patches run
(commit: ec5310b)
The file was modified ModuleManager/PatchApplier.cs (diff)
Commit 7cc6c5130dc9fe86d6bed7158b1390be88fa5edf by joeydwong
Having an actual array here no longer necessary
(commit: 7cc6c51)
The file was modified ModuleManager/PatchApplier.cs (diff)
Commit bd82d53b561931630a1c5ddda4491e56ab46e727 by joeydwong
Apparently Linq slows things down
I guess it matters at scale
(commit: bd82d53)
The file was modified ModuleManager/PatchApplier.cs (diff)
Commit ce3893f9682c3dae5232491b3ee9f4f97a6e3b2a by joeydwong
Improve access of name a bit
Looks like GetValue("name") has a bit of overhead, instead we can check
if the UrlConfig's type == name
(commit: ce3893f)
The file was modified ModuleManager/PatchApplier.cs (diff)
Commit 203ad88debd4cd772d754da569e35d0efd241943 by joeydwong
Move loop out of loop
This is all a bit loopy
(commit: 203ad88)
The file was modified ModuleManager/PatchApplier.cs (diff)