Skip to content

v0.2.1

Choose a tag to compare

@kolkov kolkov released this 12 Jan 20:07
· 13 commits to main since this release
43b48d1

Performance

  • Lazy ENVIRON loading for 40-60% faster VM creation
    • os.Environ() syscall deferred until first ENVIRON access
    • Most AWK programs don't use ENVIRON, now they pay zero overhead

Benchmark Results

Metric Before After Improvement
VM creation (no ENVIRON) 87μs 38μs -56%
Memory allocation 63KB 36KB -43%
Allocations 150 25 -83%

Real-world benchmarks (awkbench 1MB):

  • wordcount: -17%
  • groupby: -21%
  • filter: -25%

Installation

go install github.com/kolkov/uawk/cmd/uawk@v0.2.1

Full Changelog: v0.2.0...v0.2.1

uawk v0.2.1 (2026-01-12T20:08:10Z)

High-performance AWK interpreter for Go!

8/8 benchmarks faster than GoAWK. Powered by coregex (3-3000x faster regex).

Changelog

⚡ Performance


Installation:

# Using go install (recommended):
go install github.com/kolkov/uawk/cmd/uawk@v0.2.1

# Or download binary for your platform above

Quick Start:

# Print first column:
uawk '{ print $1 }' file.txt

# Sum numbers:
uawk '{ sum += $1 } END { print sum }' numbers.txt

# Filter lines:
uawk '/pattern/ { print }' file.txt

Documentation: https://github.com/kolkov/uawk#readme

Report Issues: https://github.com/kolkov/uawk/issues