more experiments

This commit is contained in:
Jaremy Creechley 2024-02-27 23:35:28 -07:00
parent cde8ba09d5
commit ce858b6f38

View File

@ -19,6 +19,7 @@ import taskpools
proc worker(data: seq[seq[char]], sig: ThreadSignalPtr) = proc worker(data: seq[seq[char]], sig: ThreadSignalPtr) =
# os.sleep(100) # os.sleep(100)
echo "running worker: " echo "running worker: "
echo "worker: ", data.unsafeAddr.pointer.repr
echo "worker: ", data echo "worker: ", data
# for i, d in data: # for i, d in data:
# for j, c in d: # for j, c in d:
@ -26,9 +27,9 @@ proc worker(data: seq[seq[char]], sig: ThreadSignalPtr) =
GC_fullCollect() GC_fullCollect()
discard sig.fireSync() discard sig.fireSync()
proc runTest(tp: TaskPool, sig: ThreadSignalPtr) {.async.} = proc runTest(tp: TaskPool, sig: ThreadSignalPtr, i: int) {.async.} =
## init ## init
var obj1 = "hello world!".toSeq() var obj1 = ("hello world! " & $i).toSeq()
var obj2 = "goodbye denver!".toSeq() var obj2 = "goodbye denver!".toSeq()
var data = @[obj1, obj2] var data = @[obj1, obj2]
@ -36,12 +37,13 @@ proc runTest(tp: TaskPool, sig: ThreadSignalPtr) {.async.} =
tp.spawn worker(data, sig) tp.spawn worker(data, sig)
await wait(sig) await wait(sig)
echo "data: ", data.unsafeAddr.pointer.repr
echo "data: ", data echo "data: ", data
proc runTests(tp: TaskPool, sig: ThreadSignalPtr) {.async.} = proc runTests(tp: TaskPool, sig: ThreadSignalPtr) {.async.} =
for i in 1..10_000: for i in 1..2:
try: try:
await runTest(tp, sig) await runTest(tp, sig, i)
except AsyncTimeoutError: except AsyncTimeoutError:
# os.sleep(1) # os.sleep(1)
# echo "looping..." # echo "looping..."