Wszystkie 3 kompilatory D (dmd, gdc, ldc) używają tego samego interfejsu front-end, ale dmd jest generalnie nieco wyprzedza inne, ponieważ jest to kompilator referencyjny. Sądzę również, że jest kilka przypadków, w których pozostałe 2 nie implementują jeszcze niektórych funkcji (głównie w systemie Windows lub OS X IIRC), chociaż ogólnie rzecz biorąc, działają dobrze. Podstawową zaletą gdc lub ldc jest to, że generują one szybszy kod (choć o ile szybciej zależy to od kodu). Jednak ich kompilacja zajmuje dużo więcej czasu.
Tak więc, jeśli dopiero zaczynasz, sugeruję, abyś użył dmd i nie martwił się tym. Z pewnością jest to najnowszy kompilator i uważam, że to właśnie większość ludzi używa. Podstawową wadą jest to, że kod, który generuje, nie jest tak szybki, ale możesz zajrzeć do innych kompilatorów później, jeśli naprawdę tego chcesz.
Dla kodu produkcyjnego, podejście, które generalnie wziąłbym, byłoby rozwinięcie przy pomocy dmd, a następnie wygenerowanie kodu produkcyjnego z gdc lub ldc. W ten sposób uzyskujesz szybki czas kompilacji podczas tworzenia kodu, ale wciąż dostajesz szybsze binaria w produkcji.
Zobacz także [Wybór między GDC i DMD] (http://stackoverflow.com/questions/14199676/choosing-between-gdc-and-dmd) –
Zobacz także [DMD vs. GDC vs. LDC] (http: //stackoverflow.com/questions/6767065/dmd-vs-gdc-vs-ldc) –