LLVM and TLS
Dan Olson via digitalmars-d-ldc
digitalmars-d-ldc at puremagic.com
Wed Feb 18 09:03:37 PST 2015
"Jonathan Marler" <johnnymarler at gmail.com> writes:
> I've created a simple program to demonstrate the issue. The
> performance cost of TLS vs __gshared is over one and a half orders of
> magnitude!
>
--snip--
I ran on my MacBook to compare DMD and LDC 2.066.1 versions. With LDC,
I had to put in an emty asm instruction in the for loops otherwise the
optimizer removed all but the last write and timing looked really good
(0 milliseconds)!
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
More information about the digitalmars-d-ldc
mailing list