Skip to content

perf(results): yielding row→string convert (no isolate double-copy) (#421) - #437

Merged
ZhuchkaTriplesix merged 1 commit into
devfrom
issue/421-result-string-yield
Jul 27, 2026
Merged

perf(results): yielding row→string convert (no isolate double-copy) (#421)#437
ZhuchkaTriplesix merged 1 commit into
devfrom
issue/421-result-string-yield

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Summary

  • New convertResultRowsToStringsYielding — convert on the UI isolate with yields every 250 rows (no compute matrix copy)
  • MySQL SQL workspace: convert while consuming rowsStream (no intermediate Object? matrix)
  • Postgres SQL workspace, SQLite SQL workspace, Postgres table browse: use the helper

Closes #421
Parent: #414

Test plan

  • flutter test test/core/database/result_row_string_convert_test.dart
  • flutter analyze on touched files
  • Manual: run large SELECT in Postgres/MySQL/SQLite workspaces

Avoid shipping full Object? matrices across isolates (peak ~2× copy).
Shared convertResultRowsToStringsYielding; MySQL SQL workspace converts
while streaming rowsStream. Postgres/SQLite/table browse use the helper.

Closes #421
@github-actions github-actions Bot added performance Theme parser epic label: performance core Core library logic and services labels Jul 27, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit e2e1aac into dev Jul 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Core library logic and services performance Theme parser epic label: performance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant