Skip to content

performance improvements part 2#10

Open
ynadji wants to merge 5 commits intotopic/yacin/performance-improvementsfrom
topic/yacin/performance-improvements-part-2
Open

performance improvements part 2#10
ynadji wants to merge 5 commits intotopic/yacin/performance-improvementsfrom
topic/yacin/performance-improvements-part-2

Conversation

@ynadji
Copy link
Copy Markdown
Owner

@ynadji ynadji commented Feb 7, 2026

no splits just offsets

- Modify get-value :zeek branch to extract fields on-demand from offsets
- Skip leading tab for fields idx>0 (offsets[i] points to separator)
- Cache extracted values in row-strings (remains nil if never accessed)
- Fix write-zeek-log-line :row-strings branch for nil entries (write from offsets)
- Fix ensure-map :row-strings branch to preserve mutations from row-strings
- Fix ensure-row to extract from offsets for unmaterialized fields
- Harden compute-offsets for short/malformed lines (fewer tabs than expected)
- All 194 tests pass, behavioral equivalence maintained
…cess [+8.9%]

- Add :start/:end keyword arguments to fast-parse-double
- Update get-value to pass offsets directly for numeric types
  (:double, :interval, :count, :int, :port)
- Eliminates subseq allocation for @@column numeric field access
- Benchmark: 8.9% improvement on @@column filter (1019ms -> 929ms)
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