LLVM and TLS
Jonathan Marler via digitalmars-d-ldc
digitalmars-d-ldc at puremagic.com
Wed Feb 18 12:05:57 PST 2015
On Wednesday, 18 February 2015 at 17:03:38 UTC, Dan Olson wrote:
> LDC __gshared versus TLS time is a bit better than DMD.
>
> $ dmd -O timetls.d
> $ ./timetls
> --------------------------------------------------
> run 1 (loopcount 10000000)
> TLS : 93 milliseconds
> Shared: 6 milliseconds
> run 2 (loopcount 10000000)
> TLS : 91 milliseconds
> Shared: 6 milliseconds
> run 3 (loopcount 10000000)
> TLS : 92 milliseconds
> Shared: 4 milliseconds
>
> $ ldmd2 -O3 timetls.d
> $ ./timetls
> --------------------------------------------------
> run 1 (loopcount 10000000)
> TLS : 21 milliseconds
> Shared: 3 milliseconds
> run 2 (loopcount 10000000)
> TLS : 22 milliseconds
> Shared: 5 milliseconds
> run 3 (loopcount 10000000)
> TLS : 20 milliseconds
> Shared: 3 milliseconds
That's quite a bit better. If I run this using DMD on windows I
get almost the same performance:
dmd test.d
--------------------------------------------------
run 1 (loopcount 10000000)
TLS : 28 milliseconds
Shared: 25 milliseconds
run 2 (loopcount 10000000)
TLS : 28 milliseconds
Shared: 25 milliseconds
run 3 (loopcount 10000000)
TLS : 27 milliseconds
Shared: 25 milliseconds
If I turn on optimization they both take 7 milliseconds.
More information about the digitalmars-d-ldc
mailing list