The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз компилятора D версии 2.068.0"
Отправлено arisu, 11-Авг-15 04:14 
> А как у него с производительностью и потреблением памяти в сравнении с
> C++?

зависит от компилятора, натурально. сейчас их есть три:
• DMD: компилирует быстро, как понос выходит. качество кода примерно такое же.
• GDC: использует бэкэнд gcc, качество кода как у gcc.
• LDC: использует бэкэнд llvm, качество кода как у llvm.

GDC и LDC обычно отстают на одну‐две версии от DMD.

насчёт потребления памяти — это уже как напишешь код. phobos (стандартная библиотека) сильно подвязан на gc (хотя работа в направлении отвязывания идёт), прямое сравнение затруднительно.

в общем и целом — микробенчмарки сосут, как обычно. вдобавок, сильно зависят от того, как написан код. в среднем — вполне сравнимо с цпп. встроенные ассоциативные массивы, правда, получались несколько медленней, чем stl-ные хэши.

из личного опыта: даже выхлоп DMD вполне юзабелен. всё равно большинство прикладного софта занимается ожиданием — то пользователя, то i/o, то сети… критичные по скорости места можно писать практически gc-free. если надо ещё скорости выжать — gdc.

в среднем — gdc пока что несколько хуже g++, потому что не умеет агрессивных девиртуализаций, например. с другой стороны — классы с виртуальными методами в D используются намного реже, чем в C++: вместо этого в D обычно используют простые структуры и метапрограммирование, так что классы с наследованием нужны намного реже.

в общем — вполне юзабелен для разных задач, от игр‐платформеров до высоконагруженых сетевых сервисов. в подавляющем большинстве случаев отлично заменяет C++. траблы могут быть разве что в проектах, которые сильно подвязаны на плюсовые библиотеки: взаимодействие с плюсами есть, но достаточно базовое. то есть, ни stl, ни сложных шаблонов (для этого, понятно, вообще нужно полноценный цпп‐компилятор реализовывать). но так как я от крестовых библиотек бегаю изо всех сил, то мне плевать.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру