[PR #969] [MERGED] Add JB perf testing project. #1385

Closed
opened 2026-01-29 22:20:18 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/adamhathcock/sharpcompress/pull/969
Author: @adamhathcock
Created: 10/23/2025
Status: Merged
Merged: 10/23/2025
Merged by: @adamhathcock

Base: masterHead: adam/perf


📝 Commits (10+)

  • c108f2d add perf testing project using JB memory and cpu
  • 186ea74 add some fixes for rar to pool memory
  • bb59b3d add pool to LZMA out window
  • 3ff688f clear and null check
  • 1ae7190 don't need to clear everything
  • 00e6eef used AI to optimize some copys and shifting
  • cc84f6f more making rar faster
  • f0d28aa fmt
  • 0ddbaca Update src/SharpCompress/Compressors/Rar/UnpackV1/UnpackUtility.cs
  • f9ed0f2 Update tests/SharpCompress.Performance/Program.cs

📊 Changes

18 files changed (+717 additions, -334 deletions)

View changed files

📝 Directory.Packages.props (+1 -0)
📝 SharpCompress.sln (+7 -0)
📝 src/SharpCompress/Compressors/LZMA/LZ/LzOutWindow.cs (+29 -10)
📝 src/SharpCompress/Compressors/LZMA/LzmaDecoder.cs (+6 -9)
📝 src/SharpCompress/Compressors/LZMA/LzmaStream.cs (+1 -0)
📝 src/SharpCompress/Compressors/Rar/UnpackV1/Unpack.cs (+103 -92)
📝 src/SharpCompress/Compressors/Rar/UnpackV1/Unpack15.cs (+0 -10)
📝 src/SharpCompress/Compressors/Rar/UnpackV1/UnpackUtility.cs (+50 -156)
📝 src/SharpCompress/Compressors/Rar/VM/BitInput.cs (+17 -2)
📝 src/SharpCompress/Compressors/Rar/VM/RarVM.cs (+46 -38)
📝 src/SharpCompress/IO/SharpCompressStream.cs (+11 -1)
📝 src/SharpCompress/NotNullExtensions.cs (+1 -0)
📝 src/SharpCompress/Utility.cs (+2 -16)
tests/SharpCompress.Performance/JetbrainsProfiler.cs (+49 -0)
tests/SharpCompress.Performance/LargeMemoryStream.cs (+280 -0)
tests/SharpCompress.Performance/Program.cs (+54 -0)
tests/SharpCompress.Performance/SharpCompress.Performance.csproj (+10 -0)
tests/SharpCompress.Performance/packages.lock.json (+50 -0)

📄 Description

Got some memory allocation wins with RAR
Pooling for LZMA reading

Testing for more low hanging fruit...


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/adamhathcock/sharpcompress/pull/969 **Author:** [@adamhathcock](https://github.com/adamhathcock) **Created:** 10/23/2025 **Status:** ✅ Merged **Merged:** 10/23/2025 **Merged by:** [@adamhathcock](https://github.com/adamhathcock) **Base:** `master` ← **Head:** `adam/perf` --- ### 📝 Commits (10+) - [`c108f2d`](https://github.com/adamhathcock/sharpcompress/commit/c108f2dcf395ec085954bfa36910f751994caf29) add perf testing project using JB memory and cpu - [`186ea74`](https://github.com/adamhathcock/sharpcompress/commit/186ea74ada56d134a66ae0db53baf9bf52ae7a00) add some fixes for rar to pool memory - [`bb59b3d`](https://github.com/adamhathcock/sharpcompress/commit/bb59b3d456c59fb66c189d9e5b32b52241c2d499) add pool to LZMA out window - [`3ff688f`](https://github.com/adamhathcock/sharpcompress/commit/3ff688fba2a4320eb8f68ae33e434867c66f8b54) clear and null check - [`1ae7190`](https://github.com/adamhathcock/sharpcompress/commit/1ae71907bc916cad92615b0111544b57cf15669e) don't need to clear everything - [`00e6eef`](https://github.com/adamhathcock/sharpcompress/commit/00e6eef36964cd5fd4d62038c41cb24687347cc2) used AI to optimize some copys and shifting - [`cc84f6f`](https://github.com/adamhathcock/sharpcompress/commit/cc84f6fee4587b0f46dacaaa8808151e5f0a5054) more making rar faster - [`f0d28aa`](https://github.com/adamhathcock/sharpcompress/commit/f0d28aa5cf1bfb89e580ab5ae828e96af9d56462) fmt - [`0ddbaca`](https://github.com/adamhathcock/sharpcompress/commit/0ddbacac859fa9004162140ee7169006460b2c98) Update src/SharpCompress/Compressors/Rar/UnpackV1/UnpackUtility.cs - [`f9ed0f2`](https://github.com/adamhathcock/sharpcompress/commit/f9ed0f2df9bfa5714f1c65dce0aa8cc44e4ae37e) Update tests/SharpCompress.Performance/Program.cs ### 📊 Changes **18 files changed** (+717 additions, -334 deletions) <details> <summary>View changed files</summary> 📝 `Directory.Packages.props` (+1 -0) 📝 `SharpCompress.sln` (+7 -0) 📝 `src/SharpCompress/Compressors/LZMA/LZ/LzOutWindow.cs` (+29 -10) 📝 `src/SharpCompress/Compressors/LZMA/LzmaDecoder.cs` (+6 -9) 📝 `src/SharpCompress/Compressors/LZMA/LzmaStream.cs` (+1 -0) 📝 `src/SharpCompress/Compressors/Rar/UnpackV1/Unpack.cs` (+103 -92) 📝 `src/SharpCompress/Compressors/Rar/UnpackV1/Unpack15.cs` (+0 -10) 📝 `src/SharpCompress/Compressors/Rar/UnpackV1/UnpackUtility.cs` (+50 -156) 📝 `src/SharpCompress/Compressors/Rar/VM/BitInput.cs` (+17 -2) 📝 `src/SharpCompress/Compressors/Rar/VM/RarVM.cs` (+46 -38) 📝 `src/SharpCompress/IO/SharpCompressStream.cs` (+11 -1) 📝 `src/SharpCompress/NotNullExtensions.cs` (+1 -0) 📝 `src/SharpCompress/Utility.cs` (+2 -16) ➕ `tests/SharpCompress.Performance/JetbrainsProfiler.cs` (+49 -0) ➕ `tests/SharpCompress.Performance/LargeMemoryStream.cs` (+280 -0) ➕ `tests/SharpCompress.Performance/Program.cs` (+54 -0) ➕ `tests/SharpCompress.Performance/SharpCompress.Performance.csproj` (+10 -0) ➕ `tests/SharpCompress.Performance/packages.lock.json` (+50 -0) </details> ### 📄 Description Got some memory allocation wins with RAR Pooling for LZMA reading Testing for more low hanging fruit... --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 22:20:18 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/sharpcompress#1385