[GSoC] 'Independency of D from the C Standard Library' progress and update thread

Piotrek dummy at dummy.gov
Fri Jul 5 20:22:30 UTC 2019


On Friday, 5 July 2019 at 15:42:48 UTC, Stefanos Baziotis wrote:
> Unfortunately, I don't have an Intel to test. It would be 
> really good to have benchmarks from Intel users.

Hi Stefanos,

This is great work. I hope Phobos will move away from clib some 
day.

As for the benchmarks.
I think you can post your results somewhere. Or you did. 
Unfortunately I cannot find them.

I tested Dmemset with dmd (lcd and gdc didn't compile) on 
i3-3220 at 3.30GHz (Ubuntu).

The strange thing is I get different results when I change the 
following line in benchamrks.d
//note the upper bound
static foreach(i; 1..256)
  to
static foreach(i; 1..257)

(1..256)
127 24.1439 20.7726
128 24.333 20.8421
129 24.3768 20.9648

(1..257)
127 24.4276 25.8072
128 24.679 26.2316
129 24.8052 26.0236

So D version becomes better. Maybe this is related to different 
binary file after compilation.


Some other results for "(1..257)" variant:

size(bytes) Cmemmove(GB/s) Dmemmove(GB/s)
1 0.269991 0.180151
2 0.438143 0.386652
3 0.657527 0.543067
4 1.00408 0.767028
5 1.26435 0.96617
6 1.51675 1.09579
7 1.76942 1.2771
8 2.02263 1.54563
9 2.27596 1.6421
10 2.52917 1.82534
11 2.78175 2.00729
12 3.03507 2.1897
13 3.28674 2.37267
14 3.53581 2.54155
15 3.79338 2.59328
16 5.25561 2.91728
17 5.58319 5.07972
18 5.91207 5.37934
19 6.24159 5.67784
20 6.56863 5.97583
21 6.84187 6.26141
22 7.22644 6.57598
23 7.55238 6.81922
24 7.88487 7.17182
...
39 9.85228 9.48541
40 10.1054 9.72436
41 10.3587 10.0661
42 10.5787 10.3286
43 10.862 10.661
44 11.1155 10.9688
45 11.3691 11.2042
46 11.6228 11.5771
47 11.8245 11.6284
48 12.1258 12.1853
49 12.3849 12.4931
...
59 14.7853 15.7441
60 15.165 16.1076
61 15.4095 16.4647
62 15.6639 16.803
63 15.9273 17.0932
64 16.1733 17.4991
65 11.862 17.671
66 12.0373 17.8678
67 12.2148 17.8533
68 12.4066 18.2475
69 12.5497 18.2762
...
124 23.6536 25.3192
125 23.9933 25.5515
126 24.2049 26.0169
127 24.4276 25.8072
128 24.679 26.2316
129 24.8052 26.0236
130 25.0353 26.446
131 24.8123 26.2339
132 25.2592 26.176
133 25.3562 26.6108
134 25.8571 26.8894
...
252 33.7209 33.9282
253 33.7367 34.1942
254 33.8958 34.59
255 33.412 33.6378
256 33.6542 34.661
500 39.5868 39.6527
700 43.7852 43.3711
3434 34.2489 45.8683
7128 35.2755 49.4049
13908 35.5447 51.2273
16343 35.0748 51.4501
27897 35.5615 51.0826
32344 35.1398 48.1469
46830 32.8887 34.9705
64349 33.2305 34.9398

Are they meaningful for you?

If you want I can run additional benchmarks for you. For details, 
mabe we can continue on github. On forum we can discuss some 
fundamentals points.

Cheers,
Piotrek




More information about the Digitalmars-d mailing list