Skip to content

[repo-assist] perf: avoid sprintf overhead for no-arg format strings in HtmlFormatting - #1271

Draft
github-actions[bot] wants to merge 1 commit into
mainfrom
repo-assist/perf-sprintf-precode-20260831-6e0398fc4638d888
Draft

[repo-assist] perf: avoid sprintf overhead for no-arg format strings in HtmlFormatting#1271
github-actions[bot] wants to merge 1 commit into
mainfrom
repo-assist/perf-sprintf-precode-20260831-6e0398fc4638d888

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 This is an automated pull request from Repo Assist.

What: Replaces sprintf "<pre><code>" (a format string with no format specifiers) with the plain string literal "<pre><code>" at three call sites in HtmlFormatting.fs.

Why: This code path runs once per rendered code/output block during Markdown-to-HTML formatting (used throughout fsdocs doc generation). sprintf with zero substitutions still goes through F#'s printf-format parsing machinery on every call, which is pure overhead for a constant string. A plain literal is functionally identical and avoids that cost.

Scope: Purely mechanical, behavior-preserving change — no other code touched.

Test Status

  • dotnet fantomas on the changed file: unchanged (already formatted).
  • dotnet build src/FSharp.Formatting.Markdown/FSharp.Formatting.Markdown.fsproj --configuration Release: succeeded, 0 warnings/errors.
  • dotnet test tests/FSharp.Markdown.Tests --configuration Release: 368/368 passed.

Generated by 🌈 Repo Assist, see workflow run. Learn more.
Comment /repo-assist to run again

Add this agentic workflow to your repo

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/repo-assist.md@ae8d551f07c7ed7619f8c58c7bb4c3ac89395d38

Replace sprintf "<pre><code>" with a plain string literal in three
call sites within the hot code/output block rendering path. sprintf
with zero format specifiers still incurs printf-format parsing
overhead on every call; a plain literal avoids that with no behavior
change.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants