You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
New acton CLI which takes over as the main acton program, it should be
called instead of actonc, for example acton build [#1645]
it calls into actonc for doing most of the work and is currently mostly
just a thin wrapper
over time, more functionality will be placed in the acton frontend
New acton test command which build and runs all test in a project [#1645]
The compiler now does automatic test discovery
Simply doing import testing and functions with a name starting with _test will be identified as a test and run by acton test. The functions
are sorted into categories based on their type signature.
Run-time reconfigurable malloc
It is now possible to reconfigure which malloc to use during runtime
All external libraries (libuv for example) are now configured to use a
particular malloc
Libraries that did not support a custom alloc have now been extended with
support for custom malloc.
Module constants are placed in non-GC heap
Using the reconfigurable malloc, we now make use of the "real" malloc (the
one libc provides) during startup of RTS and up past module init. This means
all module constants will be placed on the normal heap and not the GC heap.
The GC is mark & sweep which means it slows down considerably when there is
a large live heap.
This makes is a viable option to place large amounts of data as module
constants instead of run time state to speed up programs.
Fixed size integers arithmetic and comparisons are now unboxed
For math heavy programs, this can produce a 4x improvement
A lot of witnesses are now unnecessary and thus removed, reducing GC pressure
testing module has gotten a face lift with much better asserts
The assert exceptions now include and print the values
Formatting happens in __str__ so performance of exceptions is unchanged