Skip to content

[bug] Reduce runner baseline Wasmtime footprint by default #352

@sizumita

Description

@sizumita

Affected component

imagod

Summary

The current runner defaults still carry a large Wasmtime baseline. imagod-common keeps 64 MiB / 16 MiB / 64 KiB reservation defaults, config validation rejects zero reservation values, and workspace wasmtime still resolves with default features enabled.

Steps to reproduce

  1. Inspect the current defaults and feature resolution.
  2. Measure runner memory with scripts/measure_runner_memory.sh or Linux /proc/<pid>/status.
  3. Compare the baseline against a zero/smaller reservation configuration with slimmer Wasmtime features.

Expected behavior

The default runner configuration should minimize idle footprint and require explicit opt-in for larger Wasmtime reservation/feature sets.

Actual behavior

The current defaults keep large reservation values, and cargo tree -e features -p imagod-runtime-wasmtime still shows wasmtime feature "default", rayon feature "default", and pulley-interpreter feature "default".

Version

3f1c39e

Environment

other

Resource impact (optional)

high VSZ baseline: current defaults still reserve 64 MiB linear memory + 16 MiB growth and enable wasmtime default features.

Additional context

Evidence:

  • crates/imagod-common/src/lib.rs:17
  • crates/imagod-config/src/lib.rs:194
  • crates/imagod-config/src/load/validation.rs:52
  • Cargo.toml:101
  • crates/imagod-runtime-wasmtime/Cargo.toml:25

Suggested direction:

  • Revisit the reservation defaults and validation contract.
  • Disable Wasmtime default features at the workspace root and re-enable only the required feature set.
  • Re-measure with the existing runner memory script on Linux.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions