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

go-playground / form
100%
master: 100%

Build:
Build:
LAST BUILD BRANCH: fix-issue-71-nested-performance
DEFAULT BRANCH: master
Repo Added 31 May 2016 09:37PM UTC
Files 6
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 fix-issue-71-nested-performance
branch: fix-issue-71-nested-performance
CHANGE BRANCH
x
Reset
  • fix-issue-71-nested-performance
  • add-embedded-struct-support
  • custom-tag-fn
  • decode-encode-all-types
  • encoder
  • fix-array-handling
  • fix-encoder-pointer-omitempty
  • fix-index-exception
  • fix-pointer-decoder-panic
  • fix-slice-idx-issue
  • fixes
  • interface-support
  • master
  • minor-perf-2
  • minor-perf-3
  • minor-perf-4
  • minor-perf-5
  • minor-perf-updates
  • retract-v4.2.2
  • revert-68-fix-pointer-decoder-panic
  • update-test-dep
  • update-to-go-modules
  • v4.0.0
  • v4.1.0
  • v4.1.1
  • v4.1.2

06 Oct 2025 01:03AM UTC coverage: 99.723% (-0.09%) from 99.814%
18267045333

Pull #73

github

web-flow
Improve nested structure decoding performance

Optimize nested structure decoding by replacing O(n) linear search
with O(1) hash map lookup in the findAlias function.

Changes:
- Add aliasMap (map[string]*recursiveData) to decoder struct for O(1) alias lookups
- Initialize and clear aliasMap in parseMapData
- Replace linear search loop in findAlias with direct map lookup
- Add performance regression tests for nested array decoding (10, 50, 200 elements)
- Add benchmark tests for 100 and 1000 nested elements
- Support both normal and race detector modes with appropriate thresholds

Performance improvements:
- 100 nested elements: ~28% faster (55ms -> 39ms)
- 1000 nested elements: ~3.6x faster (16.9s -> 4.7s)

The fix scales linearly instead of exponentially with nested structure depth.

Improves #71
Pull Request #73: Fix issue #71: Optimize nested structure decoding performance

9 of 9 new or added lines in 1 file covered. (100.0%)

1 existing line in 1 file now uncovered.

1080 of 1083 relevant lines covered (99.72%)

43077.24 hits per line

Relevant lines Covered
Build:
Build:
1083 RELEVANT LINES 1080 COVERED LINES
43077.24 HITS PER LINE
Source Files on fix-issue-71-nested-performance
  • Tree
  • List 6
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
18267045333 fix-issue-71-nested-performance Improve nested structure decoding performance Optimize nested structure decoding by replacing O(n) linear search with O(1) hash map lookup in the findAlias function. Changes: - Add aliasMap (map[string]*recursiveData) to decoder struct for O(1) ... Pull #73 06 Oct 2025 01:04AM UTC web-flow github
99.72
18266965012 fix-issue-71-nested-performance Rename issue-specific tests to generic names - Rename TestIssue71NestedPerformance to TestNestedArrayPerformance - Rename BenchmarkIssue71Nested100 to BenchmarkNestedArrayDecode100 - Rename BenchmarkIssue71Nested1000 to BenchmarkNestedArrayDecode... Pull #73 06 Oct 2025 12:58AM UTC web-flow github
99.72
18239222419 fix-issue-71-nested-performance Use smaller test counts to reduce CI time while still detecting regression Changed from (10, 100, 1000) to (10, 50, 200) values. Since the bug scales exponentially, 200 values is sufficient to prove the optimization works (without fix: 16s+, wit... Pull #73 04 Oct 2025 03:52AM UTC Jecoms github
99.72
See All Builds (159)
  • 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