-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Description
Disabling garbage collection either dynamically or during compilation would open up new performance opportunities. And if rust signatures are ever emitted to call otter functions, it would make users more inclined to integrated into existing rust projects if they are concerned about gc overhead. Possible options:
-
Compilation: Useful to make binary and library functions essentially work like arenas
-
Dynamically: For heavy workloads. Objects allocated while GC is disabled are still tracked, just not collected.
fn main():
gc_disable()
# Do some work
gc_enable() # If never re-enabled, then essentially the whole program or library function works like an arena- Arenas: Support arenas directly. Any arguments to an arena function are owned by the calling function and any returned values become owned by the calling function. It would require any value returned by the arena to be clonable, since if called by a non-
arenafunction then the value should be cloned before the arena is freed. Every non-arenatoarenacall creates a new arena.
arena fn main():
# Do some workReactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels