Skip to content

[perf-improver] Monthly Activity 2026-08 #543

Description

@github-actions

🤖 Perf Improver here - I'm an automated AI assistant focused on performance improvements for this repository.

Activity for August 2026

Suggested Actions for Maintainer

Performance Opportunities Backlog

Priority Area Opportunity
DONE OrderedDictionary.Values LINQ Select+ToArray replaced with direct array copy (PR #569, reapplied as #592)
DONE Stack(BooleanQuery) initial capacity capacity 4→1, ~11% alloc reduction (PR #572)
DONE ObjectExtensions.ConvertObjectToDictionary Cached PropertyDescriptorCollection per Type — -36% alloc, ~3x faster (PR #585)
DONE LuceneSearchExecutor facet fields .Any() x2 + OrderBy → Count check + skip OrderBy for 0/1 fields, ~14% alloc reduction (PR #587)
DONE TaxonomySearchContext.SearchableFields LINQ Select+ToList/Where+ToArray → foreach (PR #590, efficiency-improver bot)
DONE Examine.Benchmarks measurement infra Added README documenting suite usage + coverage gaps (PR created this run — number pending, branch perf-assist/benchmarks-readme-v2)
COLD LuceneSearchQueryBase Boosted query Convert.ToInt32 boxing — cold path (boost queries only), not worth PR
COLD CreatePhraseQuery Split() alloc — per-query construction, not per-doc hot loop
COLD RandomSamplingAmortizedFacets.GetAllDims Select+ToList — once-per-sampling-query, not per-doc hot loop

Backlog has been exhausted of new genuinely hot-path items for ~12 consecutive runs (since 2026-08-17). All pending PRs (#572/#574/#585/#586/#587/#590/#592) remain unmerged as of this run. This run pivoted back to Task 6 (measurement infrastructure) since the previous README PR attempt (issue #591) failed due to a protected-file push restriction — retried successfully using src/Examine.Benchmarks/README.md (non-protected path) via the standard PR flow.

Discovered Commands

# Build
dotnet build src/Examine.sln --configuration Release

# Test
dotnet test src/Examine.Test/Examine.Test.csproj --configuration Release --filter "TestCategory!=Benchmarks" -f net8.0

# Benchmarks (BenchmarkDotNet)
dotnet run --project src/Examine.Benchmarks --configuration Release

# Run specific benchmark
dotnet run --project src/Examine.Benchmarks --configuration Release -- --filter "*ManagedQuery*"

Run History

2026-08-29 10:00 UTC - Run

2026-08-28 15:17 UTC - Run

2026-08-27 14:09 UTC - Run

2026-08-26 04:00 UTC - Run

2026-08-25 03:56 UTC - Run

2026-08-24 04:03 UTC - Run

2026-08-23 03:58 UTC - Run

2026-08-22 03:53 UTC - Run

2026-08-21 17:37 UTC - Run

2026-08-19 03:55 UTC - Run

2026-08-18 03:54 UTC - Run

2026-08-17 20:44 UTC - Run

  • 🔍 Task 3: Picked up last remaining LOW-priority backlog item — Stack(BooleanQuery) default capacity 4 in LuceneSearchQueryBase
  • 🔧 Created draft PR [perf-improver] perf: initialize Queries stack with capacity 1 in LuceneSearchQueryBase #572: initialize Queries stack with capacity 1
  • 📊 Measured: ~11% allocation reduction per query construction (72.00 → 64.00 bytes/instance, 2M-iteration micro-benchmark, GC.GetAllocatedBytesForCurrentThread)
  • 📋 Task 7: Updated monthly activity issue

2026-08-17 20:22 UTC - Run

2026-08-14 04:58 UTC - Run

Comment /perf-assist to run again

Add this agentic workflow to your repo

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/perf-improver.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9

2026-08-30 09:09 UTC - Run

Comment /perf-assist to run again

Add this agentic workflow to your repo

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/perf-improver.md@42c2ab5b4e4c9273534c39259b2e0df7f20f07e9

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions