Skip to content

Inline row decoder applicative for ~14% performance gains - #44

Merged
mzabani merged 2 commits into
masterfrom
inline-row-decoder-applicative
Aug 9, 2026
Merged

Inline row decoder applicative for ~14% performance gains#44
mzabani merged 2 commits into
masterfrom
inline-row-decoder-applicative

Conversation

@mzabani

@mzabani mzabani commented Aug 9, 2026

Copy link
Copy Markdown
Owner

A ~14.3% performance improvement in the Tuple Stream benchmark. Looking at GHC Core output, now the CPS parser isn't allocating intermediary Parser (a -> b) structures any longer, and it's finally behaving like I always expected it to: call a field decoder, take the response and pass it to the success continuation of the Parser; call then next field decoder, etc.

Total memory allocation reduced by ~6%.

@mzabani mzabani changed the title Inline row decoder applicative Inline row decoder applicative for ~14% performance gains Aug 9, 2026
@mzabani
mzabani marked this pull request as ready for review August 9, 2026 13:41
@mzabani
mzabani force-pushed the inline-row-decoder-applicative branch from f2fd19a to e72747b Compare August 9, 2026 13:42
@mzabani
mzabani merged commit c9c8c77 into master Aug 9, 2026
3 checks passed
@mzabani
mzabani deleted the inline-row-decoder-applicative branch August 9, 2026 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant