Files
Nim/tests/benchmarks/ttls.nim
Timothee Cour e112974920 fix #16752: threadvar now works with importcpp types; osx now uses native TLS (--tlsEmulation:off), which can be orders of magnitude faster (#16750)
* osx now uses native TLS, which can be orders of magnitude faster

* add {.cppNonPod.}

* improve test

* changelog, docs, disable part of windows test
2021-01-27 22:35:43 +01:00

31 lines
434 B
Nim

discard """
action: compile
"""
#[
## on osx
nim r -d:danger --threads --tlsEmulation:off tests/benchmarks/ttls.nim
9.999999999992654e-07
ditto with `--tlsEmulation:on`:
0.216999
]#
import times
proc main2(): int =
var g0 {.threadvar.}: int
g0.inc
result = g0
proc main =
let n = 100_000_000
var c = 0
let t = cpuTime()
for i in 0..<n:
c += main2()
let t2 = cpuTime() - t
doAssert c != 0
echo t2
main()