Skip to content

Enable in-memory benchmarks > 256MB once MoonBit runtime supports it #1

@bikallem

Description

@bikallem

Context

In-memory benchmarks (500MB, 1GB) for all codecs have been removed because the MoonBit native runtime truncates array/Bytes length to 28 bits, silently corrupting allocations >= 256MB.

See: moonbitlang/moonbit-docs#1155

What was removed

Go and MoonBit in-memory benchmarks at these sizes:

  • {flate,gzip,zlib}_compress_default_{500mb,1gb}
  • {flate,gzip,zlib}_decompress_{500mb,1gb}

The benchmark generator (tools/gen_benchmarks.py) caps SIZES at 100MB.

When to re-enable

Once the upstream issue is resolved, update SIZES in tools/gen_benchmarks.py to include ("500mb", 524288000) and ("1gb", 1073741824), re-run the generator, and add corresponding Go benchmarks back to tools/bench_test.go.

Streaming benchmarks are unaffected

Streaming benchmarks process data in 4096-byte chunks and never hold > 256MB in a single Bytes, so they work at any size.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions