[PR #528] [CLOSED] Improve CQ1 #1094

Open
opened 2026-01-29 14:49:41 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/xoofx/markdig/pull/528
Author: @iamcarbon
Created: 3/11/2021
Status: Closed

Base: masterHead: nullability2


📝 Commits (8)

  • 28bac0e Eliminate list and queue allocations for indent trivia
  • 0fd628e Ensure string comparisons are invariant
  • 4d0a0c2 Eliminate possible allocation when trimming text
  • 082d73c Improve nullability of ReferralLinksExtension
  • 7114f73 Bump minimum .NET framework target to .NET461 and support null rels
  • e0d90da Remove ArrayHelper and use Array.Empty directly
  • 45f8d61 Revert "Remove ArrayHelper and use Array.Empty directly"
  • e32b93c Revert bump to net461 with a note on the reasoning

📊 Changes

16 files changed (+56 additions, -42 deletions)

View changed files

📝 src/Markdig/Extensions/Footnotes/FootnoteParser.cs (+3 -1)
📝 src/Markdig/Extensions/MediaLinks/HostProviderBuilder.cs (+4 -4)
📝 src/Markdig/Extensions/MediaLinks/MediaLinkExtension.cs (+2 -2)
📝 src/Markdig/Extensions/ReferralLinks/ReferralLinksExtension.cs (+3 -3)
📝 src/Markdig/Extensions/SelfPipeline/SelfPipelineExtension.cs (+1 -1)
📝 src/Markdig/Helpers/CompactPrefixTree.cs (+4 -4)
📝 src/Markdig/Markdig.targets (+3 -0)
📝 src/Markdig/MarkdownExtensions.cs (+10 -6)
📝 src/Markdig/Parsers/FencedBlockParserBase.cs (+1 -1)
📝 src/Markdig/Parsers/ListBlockParser.cs (+1 -1)
📝 src/Markdig/Renderers/Html/CodeBlockRenderer.cs (+1 -1)
📝 src/Markdig/Renderers/Html/ListRenderer.cs (+1 -1)
📝 src/Markdig/Renderers/Roundtrip/CodeBlockRenderer.cs (+5 -3)
📝 src/Markdig/Renderers/Roundtrip/ListRenderer.cs (+2 -2)
📝 src/Markdig/Renderers/Roundtrip/QuoteBlockRenderer.cs (+4 -3)
📝 src/Markdig/Renderers/TextRendererBase.cs (+11 -9)

📄 Description

This PR.

  • Eliminates a few list allocations (and possible internal resizes) by using arrays
  • Eliminates a queue allocation
  • Ensures string comparisons are invariant
  • Eliminates a possible NRE when allocating ReferralLinksExtension with a null value and subsequently adding additional rels

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/xoofx/markdig/pull/528 **Author:** [@iamcarbon](https://github.com/iamcarbon) **Created:** 3/11/2021 **Status:** ❌ Closed **Base:** `master` ← **Head:** `nullability2` --- ### 📝 Commits (8) - [`28bac0e`](https://github.com/xoofx/markdig/commit/28bac0e7045bc6c14e3abbf87baaafebca556876) Eliminate list and queue allocations for indent trivia - [`0fd628e`](https://github.com/xoofx/markdig/commit/0fd628e7ba9a1bfaf05dd580e0b68320a23e4e1c) Ensure string comparisons are invariant - [`4d0a0c2`](https://github.com/xoofx/markdig/commit/4d0a0c295e1effb261cbb5085eba9199ee84909d) Eliminate possible allocation when trimming text - [`082d73c`](https://github.com/xoofx/markdig/commit/082d73c674bb85a774c3a9e0e270c7e9b18f56ba) Improve nullability of ReferralLinksExtension - [`7114f73`](https://github.com/xoofx/markdig/commit/7114f7386d733c1fc2fa79c518fcc570af2603b2) Bump minimum .NET framework target to .NET461 and support null rels - [`e0d90da`](https://github.com/xoofx/markdig/commit/e0d90da5cdfefbce1ab60d4a19369117e30ee4e9) Remove ArrayHelper and use Array.Empty<string> directly - [`45f8d61`](https://github.com/xoofx/markdig/commit/45f8d6123b0391093997fe05a90306552dc216ed) Revert "Remove ArrayHelper and use Array.Empty<string> directly" - [`e32b93c`](https://github.com/xoofx/markdig/commit/e32b93cdb80de6c8811dbfd91a939a1a6e225100) Revert bump to net461 with a note on the reasoning ### 📊 Changes **16 files changed** (+56 additions, -42 deletions) <details> <summary>View changed files</summary> 📝 `src/Markdig/Extensions/Footnotes/FootnoteParser.cs` (+3 -1) 📝 `src/Markdig/Extensions/MediaLinks/HostProviderBuilder.cs` (+4 -4) 📝 `src/Markdig/Extensions/MediaLinks/MediaLinkExtension.cs` (+2 -2) 📝 `src/Markdig/Extensions/ReferralLinks/ReferralLinksExtension.cs` (+3 -3) 📝 `src/Markdig/Extensions/SelfPipeline/SelfPipelineExtension.cs` (+1 -1) 📝 `src/Markdig/Helpers/CompactPrefixTree.cs` (+4 -4) 📝 `src/Markdig/Markdig.targets` (+3 -0) 📝 `src/Markdig/MarkdownExtensions.cs` (+10 -6) 📝 `src/Markdig/Parsers/FencedBlockParserBase.cs` (+1 -1) 📝 `src/Markdig/Parsers/ListBlockParser.cs` (+1 -1) 📝 `src/Markdig/Renderers/Html/CodeBlockRenderer.cs` (+1 -1) 📝 `src/Markdig/Renderers/Html/ListRenderer.cs` (+1 -1) 📝 `src/Markdig/Renderers/Roundtrip/CodeBlockRenderer.cs` (+5 -3) 📝 `src/Markdig/Renderers/Roundtrip/ListRenderer.cs` (+2 -2) 📝 `src/Markdig/Renderers/Roundtrip/QuoteBlockRenderer.cs` (+4 -3) 📝 `src/Markdig/Renderers/TextRendererBase.cs` (+11 -9) </details> ### 📄 Description This PR. - Eliminates a few list allocations (and possible internal resizes) by using arrays - Eliminates a queue allocation - Ensures string comparisons are invariant - Eliminates a possible NRE when allocating ReferralLinksExtension with a null value and subsequently adding additional rels --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-29 14:49:41 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/markdig#1094