• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jas88 / RDMP
57%
develop: 57%

Build:
Build:
LAST BUILD BRANCH: feature/migrate-synthdicom-integrate-tests
DEFAULT BRANCH: develop
Repo Added 19 Oct 2025 01:27AM UTC
Token h6UHIngwHvcnzKjdzRZ9ddDc2fHqY82KR regen
Build 104 Last
Files 1516
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH feature/compile-time-property-accessors
branch: feature/compile-time-property-accessors
CHANGE BRANCH
x
Reset
Sync Branches
  • feature/compile-time-property-accessors
  • dependabot/dotnet_sdk/dotnet-sdk-9.0.306
  • dependabot/github_actions/actions/checkout-5
  • dependabot/github_actions/actions/setup-dotnet-5.0.0
  • dependabot/github_actions/actions/upload-artifact-5
  • dependabot/github_actions/github/codeql-action-4
  • dependabot/github_actions/shogo82148/actions-setup-perl-1.36.0
  • dependabot/github_actions/svenstaro/upload-release-action-2.11.2
  • dependabot/nuget/develop/aws-sdk-19dac73d7d
  • dependabot/nuget/main/FluentFTP-53.0.2
  • dependabot/nuget/main/Microsoft.Bcl.AsyncInterfaces-9.0.10
  • dependabot/nuget/main/Microsoft.NET.Test.Sdk-18.0.0
  • dependabot/nuget/main/NLog-6.0.5
  • dependabot/nuget/main/NPOI-2.7.5
  • dependabot/nuget/main/multi-34fddab7c9
  • dependabot/nuget/main/multi-9fd9ae8737
  • develop
  • feature/add-codeql-to-bundle-build
  • feature/ci-performance-dotnet-caching
  • feature/disable-code-signing-clean
  • feature/improve-test-performance
  • feature/migrate-synthdicom-integrate-tests
  • fix/bundle-build-workflow
  • fix/remote-attacher-datetime-cast
  • hotfix/bundlebuild
  • main

21 Oct 2025 04:25PM UTC coverage: 57.078% (+0.03%) from 57.046%
18690680608

Pull #27

github

jas88
perf: Use FrozenDictionary with pre-populated properties

- Pre-populate ALL properties for a type on first access
- Use FrozenDictionary for optimal read performance (faster than ConcurrentDictionary)
- FrozenDictionary is immutable and optimized for lookup-heavy scenarios
- Better cache locality: all accessors for a type created together
- Simpler lookup: just TryGetValue instead of GetOrAdd

Benefits:
- Faster lookups after first type access
- No per-property compilation overhead on subsequent properties
- Better memory layout for CPU cache
- Perfect for our use case: types are immutable once loaded

All 19 tests passing
Pull Request #27: feat: Replace reflection with compile-time property accessors

11417 of 21473 branches covered (53.17%)

Branch coverage included in aggregate %.

48 of 49 new or added lines in 2 files covered. (97.96%)

2 existing lines in 1 file now uncovered.

32409 of 55310 relevant lines covered (58.6%)

17753.41 hits per line

Relevant lines Covered
Build:
Build:
55310 RELEVANT LINES 32409 COVERED LINES
17753.41 HITS PER LINE
Source Files on feature/compile-time-property-accessors
  • Tree
  • List 1154
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
18690680608 feature/compile-time-property-accessors perf: Use FrozenDictionary with pre-populated properties - Pre-populate ALL properties for a type on first access - Use FrozenDictionary for optimal read performance (faster than ConcurrentDictionary) - FrozenDictionary is immutable and optimized... Pull #27 21 Oct 2025 05:05PM UTC jas88 github
57.08
18690442320 feature/compile-time-property-accessors refactor: Simplify cache to nested ConcurrentDictionary - Replace reflection-based generic invocation with direct nested dictionary - Use ConcurrentDictionary<Type, ConcurrentDictionary<string, PropertyAccessor>> - Removes unnecessary Clear() fun... push 21 Oct 2025 04:56PM UTC jas88 github
57.07
See All Builds (104)

Badge your Repo: RDMP

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc