Skip to content

Commit

Permalink
Releasing 0.9.0 (#3974)
Browse files Browse the repository at this point in the history
  • Loading branch information
ggreif authored May 12, 2023
1 parent 9a9fadb commit fa8c9be
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
# Motoko compiler changelog

## 0.9.0 (2023-05-12)

* motoko (`moc`)

* **For beta testing:** Add a new _incremental_ GC, enabled with new moc flag `--incremental-gc` (#3837).
The incremental garbage collector is designed to scale for large program heap sizes.

The GC distributes its workload across multiple steps, called increments, that each pause the mutator
(user's program) for only a limited amount of time. As a result, the GC work can fit within the instruction-limited
The GC distributes its workload across multiple steps, called increments, that each pause the mutator
(user's program) for only a limited amount of time. As a result, the GC work can fit within the instruction-limited
IC messages, regardless of the heap size and the object structures.
According to GC benchmark measurements, the incremental GC is more efficient than the existing copying, compacting,

According to GC benchmark measurements, the incremental GC is more efficient than the existing copying, compacting,
and generational GC in the following regards:
* Scalability: Able to use the full heap space, 3x more object allocations on average.
* Shorter interruptions: The GC pause has a maximum limit that is up to 10x shorter.
* Lower runtimes: The number of executed instructions is reduced by 10% on average (compared to the copying GC).
* Less GC overhead: The amount of GC work in proportion to the user's program work drops by 10-16%.
The GC incurs a moderate memory overhead: The allocated WASM memory has been measured to be 9% higher

The GC incurs a moderate memory overhead: The allocated WASM memory has been measured to be 9% higher
on average compared to the copying GC, which is the current default GC.

To activate the incremental GC under `dfx`, the following command-line argument needs to be specified in `dfx.json`:
Expand All @@ -29,6 +31,8 @@
...
```
* bugfix: `array.vals()` now returns a working iterator for mutable arrays (#3497, #3967).
## 0.8.8 (2023-05-02)
* motoko (`moc`)
Expand Down

0 comments on commit fa8c9be

Please sign in to comment.