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

jstedfast / MimeKit / 4.1.0.917
0%
master: 94%

Build:
Build:
LAST BUILD BRANCH: mime-compliance-violations
DEFAULT BRANCH: master
Ran 31 Aug 2023 03:24PM UTC
Jobs 1
Files 0
Run time 2s
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

31 Aug 2023 03:14PM UTC coverage: 0.0%. Remained the same
4.1.0.917

Pull #952

coveralls.net

jstedfast
Reduced memory allocations in Rfc2047.DecodePhrase() and DecodeText()

By pushing the DecodeTokens() logic into a new interface so that decoding
can be done incrementally as we tokenize the phrase/text, we can avoid
allocating a List<Token> (and all of the tokens that goes with it) which
can drastically reduce GC pressure, especially when calling MailKit's
ImapFolder.Fetch/Async() methods with MessageSummaryItems.Envelope.

(IMAP FETCH responses including ENVELOPE metadata require decoding of
rfc2047-encoded strings, so DecodeText() and DecodePhrase() end up being
fairly performance critical - not as much as tokenization of IMAP
responses, but pretty high up there.)

This also slightly increases benchmark performance as well:

Before:

BenchmarkDotNet v0.13.7, Windows 11 (10.0.22621.2134/22H2/2022Update/SunValley2)
Intel Core i7-9700 CPU 3.00GHz, 1 CPU, 8 logical and 8 physical cores
.NET SDK 8.0.100-preview.7.23376.3
  [Host]     : .NET 6.0.21 (6.0.2123.36311), X64 RyuJIT AVX2
  DefaultJob : .NET 6.0.21 (6.0.2123.36311), X64 RyuJIT AVX2

|               Method |     Mean |     Error |    StdDev |
|--------------------- |---------:|----------:|----------:|
|   Rfc2047_DecodeText | 1.033 us | 0.0083 us | 0.0078 us |
| Rfc2047_DecodePhrase | 1.024 us | 0.0055 us | 0.0046 us |

After:

|               Method |     Mean |    Error |   StdDev |   Median |
|--------------------- |---------:|---------:|---------:|---------:|
|   Rfc2047_DecodeText | 973.0 ns | 18.20 ns | 30.41 ns | 956.5 ns |
| Rfc2047_DecodePhrase | 899.5 ns |  3.82 ns |  3.57 ns | 898.7 ns |
Pull Request #952: Reduced memory allocations in Rfc2047.DecodePhrase() and DecodeText()

0 of 0 relevant lines covered (NaN%)

0.0 hits per line

Jobs
ID Job ID Ran Files Coverage
1 4.1.0.917.1 31 Aug 2023 03:24PM UTC 0
0.0
Source Files on build 4.1.0.917
Detailed source file information is not available for this build.
  • Back to Repo
  • Pull Request #952
  • PR Base - master (#4.1.0.916)
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

© 2026 Coveralls, Inc