new implementations for --gc:orc (#14121)

* cycle collector: new implementation
* cycle collector: make self-adaptive based on its previous effectiveness
* cycle collector: added Lins's jump stack to improve traversal from 3*N to 2*N
* cycle collector: make tests green
* API extensions and bugfixes
* code cleanup and use --gc:orc for tasyncawait
This commit is contained in:
Andreas Rumpf 2020-04-27 11:57:26 +02:00 • committed by GitHub
commit dedb04fa9e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 428 additions and 21 deletions

View file

@ -1,6 +1,6 @@
discard """
outputsub: "result: 5000"
cmd: "nim c --gc:arc $file"
cmd: "nim c --gc:orc $file"
"""
import asyncdispatch, asyncnet, nativesockets, net, strutils, os
@ -71,4 +71,5 @@ main()
assert msgCount == swarmSize * messagesToSend
echo "result: ", msgCount
GC_fullCollect()
echo "memory: ", formatSize(getOccupiedMem() - mem)