On Tuesday, 8 March 2016 at 18:11:24 UTC, John wrote:
* For this kind of implementation, is the Algebraic type a good
choice ? Is a simple union perhaps better ?
You can go with Algebraic. I used to do that in scheme-d. Then I
switched to a tagged union by hand to avoid a compiler
regression. Algebraic was OK.
* I've defined the (recursive) Fibonacci function, for which
DMD takes 30sec to calculate Fibonacci(30) and LDC takes 10sec.
Is this a reasonable difference between the two compilers?
2x speed difference between DMD and LDC is common.
* I find it very difficult (actually impossible) to profile
code in Mac OS X. There is no output for options -profile. Are
there any other profiling/debugging tools for the Mac OS X ? My
other ports (C++, Scala) run interpret the same example in
under 2sec, so I would like to detect where my bottlenecks are.
Thanks.
You can build with -g and use Instruments.