Skip to content

Commit 10c27bb

Browse files
authored
Use memory mapped files for streaming uploads (Azure#19635)
* Use memory mapped files for streaming uploads This is to avoid extra allocations and heap fragmentation. Removed transfer manager and related code. * clarify change description * fix generic type constraint * refinement * use MAP_PRIVATE on Un*x * log instead of panic when unmapping section fails * revert back to Concurrency but keep doc change * fix copy/paste * remove unused import * panic on failure to free buffer
1 parent 902d52a commit 10c27bb

File tree

9 files changed

+502
-564
lines changed

9 files changed

+502
-564
lines changed

sdk/storage/azblob/CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@
2424

2525
### Other Changes
2626

27-
* Avoid allocations when storing/fetching a slice via sync.Pool.
2827
* Added some missing public surface area in the `container` and `service` packages.
28+
* The `UploadStream()` methods now use anonymous memory mapped files for buffers in order to reduce heap allocations/fragmentation.
29+
* The anonymous memory mapped files are typically backed by the page/swap file, multiple files are not actually created.
2930

3031
## 0.5.1 (2022-10-11)
3132

0 commit comments

Comments
 (0)