Getting the names of all the top-level functions in module

Stefan Koch uplink.coder at googlemail.com
Tue Sep 21 17:15:23 UTC 2021


On Tuesday, 21 September 2021 at 15:18:01 UTC, Stefan Koch wrote:
> On Tuesday, 21 September 2021 at 15:07:35 UTC, Adam D Ruppe 
> wrote:
>> Here's one with param names:
>>
>> ----
>>

I've done a little benchmark the core.reflect version vs the 
template version.



| Command | Mean [ms] | Min [ms] | Max [ms] | Relative |
|:---|---:|---:|---:|---:|
| -version=arsd #64 | 41.3 ± 3.0 | 34.5 | 53.8 | 1.33 ± 0.14 |
| #64 | 31.1 ± 2.4 | 23.5 | 35.9 | 1.00 |
| -version=arsd #192 | 72.0 ± 3.4 | 65.7 | 79.2 | 2.32 ± 0.21 |
| #192 | 36.3 ± 2.7 | 29.5 | 45.4 | 1.17 ± 0.13 |
| -version=arsd #320 | 96.7 ± 4.5 | 90.8 | 107.3 | 3.11 ± 0.28 |
| #320 | 41.3 ± 2.7 | 35.2 | 47.6 | 1.33 ± 0.13 |
| -version=arsd #448 | 131.4 ± 5.0 | 124.9 | 140.2 | 4.23 ± 0.37 |
| #448 | 46.4 ± 2.9 | 40.9 | 53.1 | 1.49 ± 0.15 |
| -version=arsd #576 | 163.2 ± 7.0 | 152.8 | 174.9 | 5.25 ± 0.47 |
| #576 | 52.1 ± 2.7 | 45.4 | 58.0 | 1.68 ± 0.16 |
| -version=arsd #704 | 199.7 ± 8.9 | 187.3 | 215.7 | 6.43 ± 0.58 |
| #704 | 56.8 ± 3.5 | 51.1 | 66.7 | 1.83 ± 0.18 |
| -version=arsd #832 | 240.1 ± 10.1 | 227.2 | 252.8 | 7.73 ± 0.69 
|
| #832 | 62.1 ± 4.3 | 55.0 | 77.7 | 2.00 ± 0.21 |
| -version=arsd #960 | 271.4 ± 8.5 | 264.1 | 292.2 | 8.74 ± 0.74 |
| #960 | 68.8 ± 5.6 | 61.4 | 89.9 | 2.22 ± 0.25 |
| -version=arsd #1088 | 313.0 ± 12.3 | 299.2 | 334.8 | 10.08 ± 
0.88 |
| #1088 | 73.6 ± 3.4 | 68.7 | 82.3 | 2.37 ± 0.21 |
| -version=arsd #1216 | 365.0 ± 11.6 | 345.7 | 380.8 | 11.75 ± 
0.99 |
| #1216 | 79.6 ± 2.8 | 74.1 | 86.3 | 2.56 ± 0.22 |
| -version=arsd #1344 | 400.5 ± 14.2 | 386.7 | 420.8 | 12.89 ± 
1.11 |
| #1344 | 84.6 ± 3.2 | 80.4 | 92.4 | 2.72 ± 0.24 |
| -version=arsd #1472 | 439.6 ± 11.6 | 426.9 | 464.9 | 14.15 ± 
1.17 |
| #1472 | 93.3 ± 17.4 | 78.6 | 162.0 | 3.00 ± 0.61 |
| -version=arsd #1600 | 521.7 ± 18.1 | 474.1 | 542.0 | 16.80 ± 
1.44 |
| #1600 | 99.1 ± 6.7 | 87.5 | 115.3 | 3.19 ± 0.33 |
| -version=arsd #1728 | 583.8 ± 20.9 | 548.6 | 609.5 | 18.79 ± 
1.62 |
| #1728 | 111.8 ± 8.4 | 93.6 | 127.2 | 3.60 ± 0.39 |
| -version=arsd #1856 | 617.6 ± 20.3 | 576.0 | 640.7 | 19.88 ± 
1.69 |
| #1856 | 112.5 ± 4.9 | 103.0 | 125.2 | 3.62 ± 0.32 |
| -version=arsd #1984 | 673.3 ± 26.3 | 620.1 | 697.0 | 21.68 ± 
1.90 |
| #1984 | 115.8 ± 8.7 | 105.5 | 145.1 | 3.73 ± 0.40 |

Which corresponds to this graph.

[![IMAGE perfgraph](https://i.ibb.co/BVHy1LQ/graph.png)]

blue is adams template.
orange is core reflect.
X in correlated to N the number of functions being reflection
and Y is correlated to compile time time


More information about the Digitalmars-d mailing list