Skip to content

Commit 3d8a396

Browse files
committed
Merge remote-tracking branch 'origin/master'
2 parents de6c007 + 276d8e3 commit 3d8a396

1 file changed

Lines changed: 16 additions & 12 deletions

File tree

README.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,22 @@
99
Привет! Это обертка над HttpClient для работы с S3 хранилищами. Мотивация создания была простейшей - я не понимал,
1010
почему клиенты [AWS](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/welcome.html)
1111
и [Minio](https://github.com/minio/minio-dotnet) едят так много памяти . Результат моих экспериментов: скорость
12-
почти как у Minio, а памяти потребляю почти в 200 раз меньше, чем клиент для AWS. На Windows. На Alpine и Debian (если запустить бенчмарк в контейнере) результаты сильно скромнее - в 7 раз меньше памяти, чем клиент на AWS. Интересно, кстати, почему.
12+
почти как у Minio, а памяти потребляю почти в 200 раз меньше, чем клиент для AWS.
1313

1414
```ini
15-
BenchmarkDotNet v0.13.12, Windows 11 (10.0.23606.1000)
16-
13th Gen Intel Core i9-13905H, 1 CPU, 20 logical and 14 physical cores
17-
.NET SDK 8.0.100
18-
.NET 8.0 : .NET 8.0.0 (8.0.23.53103), X64 RyuJIT AVX2
15+
BenchmarkDotNet v0.13.12, Debian GNU/Linux 12 (bookworm) (container)
16+
Unknown processor
17+
.NET SDK 8.0.204
18+
[Host] : .NET 8.0.4 (8.0.424.16909), Arm64 RyuJIT AdvSIMD
19+
.NET 8.0 : .NET 8.0.4 (8.0.424.16909), Arm64 RyuJIT AdvSIMD
1920

20-
Job=.NET 8.0 Runtime=.NET 8.0
21+
Job=.NET 8.0 Runtime=.NET 8.0
2122
```
22-
23-
| Method | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Gen1 | Allocated | Alloc Ratio |
24-
|---------|--------:|---------:|---------:|------:|--------:|-----------:|----------:|-------------:|------------:|
25-
| Aws | 2.458 s | 0.0491 s | 0.1002 s | 1.60 | 0.17 | 16000.0000 | 5000.0000 | 202247.9 KB | 308.06 |
26-
| Minio | 1.729 s | 0.0329 s | 0.0737 s | 1.12 | 0.11 | - | - | 279651.64 KB | 425.96 |
27-
| Storage | 1.569 s | 0.0465 s | 0.1370 s | 1.00 | 0.00 | - | - | 656.52 KB | 1.00 |
23+
| Method | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Gen1 | Allocated | Alloc Ratio |
24+
|-------- |--------:|---------:|---------:|------:|--------:|-----------:|----------:|-------------:|------------:|
25+
| Aws | 1.51 s | 0.030 s | 0.035 s | 1.42 | 0.03 | 80000.00 | 5000.00 | 201710 KB | 420.92 |
26+
| Minio | 1.48 s | 0.027 s | 0.023 s | 1.39 | 0.02 | - | - | 279524 KB | 583.30 |
27+
| Storage | 1.06 s | 0.014 s | 0.013 s | 1.00 | 0.00 | - | - | 479 KB | 1.00 |
2828

2929
## Создание клиента
3030

@@ -171,3 +171,7 @@ Console.WriteLine("Файл удалён, если он, конечно, сущ
171171
4. Свойство `BigFilePath` файла `appsettings.json` сейчас не заполнено. Его можно использвоать для загрузки реального
172172
файла (больше 100МБ). Если свойство не заполнено, то тест сгенерирует случайную последовательность байт размером
173173
123МБ в памяти.
174+
175+
## Вопросы
176+
177+
У меня есть канал в TG: [@csharp_gepard](https://t.me/csharp_gepard/91). К нему привязан чат - вопросы можно задавать в чате, либо в любом из последних постов.

0 commit comments

Comments
 (0)