Skip to content

Possible memory allocation regression in v1.5.378.10-preview #3349

Description

@RicoSuter

Type of issue

  • Bug
  • Enhancement
  • Compliance
  • Question
  • Help wanted

Current Behavior

I did some benchmarks comparing v1.5.376.244 with v1.5.378.10-preview and saw more memory allocations/second (more GC pressure). Is this a known and accepted "regression"?

Before upgrade v1.5.376.244:

Client (20k variable reads per second):
CleanShot 2025-11-20 at 18 50 51

Server (20k variable writes per second):
CleanShot 2025-11-20 at 18 51 58

After upgrade v1.5.378.10-preview:

Client (20k variable reads per second):
CleanShot 2025-11-20 at 19 02 14

Server (20k variable writes per second):
CleanShot 2025-11-20 at 19 02 34

Results:

  • A lot more GC memory pressure with the new version: +10 mb/s client (+50%), +20 mb/s server (+20%)
    • Might lead to higher tail latencies (e.g. higher latencies in P99 due to GC). This is maybe not visible in these benchmarks as they were run on a high performance CPU
  • Overall throughput and latency is still better than previous version

(Tested on Mac Book Pro Max M4)

Expected Behavior

Lower memory consumption in variable read/write hot paths compared to previous version.

Steps To Reproduce

No response

Environment

- OS: Mac OS 26
- Environment: Mac Book Pro Max M4
- Runtime: .NET 9
- Nuget Version: v1.5.378.10-preview
- Component: 
- Server: Writes 20k variable changes per second (30k monitored items)
- Client: Reads 20k variable changes per second

Anything else?

No response

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions