LINUX.ORG.RU

А как там в D с GC и без GC?

 , ,


0

5

Тут осознал нужность ЯП, который умеет одновременно в GC, а на узких местах без GC. Как та же джава с Unsafe#putX, но с гармоничным сожительством в без GC коде. И внезапно вспомнил, что D в этом плане могёт... Можете дать ссылок с примерами и комментариями по данному аспекту D?

★★★★★

Последнее исправление: foror (всего исправлений: 2)

Берешь std.experimental.allocator (mallocator, gc_allocator или mmap_allocator). Аналоги крестовых std::unique_ptr и std::shared_ptr - Unique и RefCounted. Можешь взять надмножество сишки и по сишному рубить через core.stdc.stdlib - malloc/free. И помечать функции аттрибутом @nogc - тогда если напишешь что то, что требует сборщик мусора - не скомпилится.

wolph ★★
()

Зачем тебе D, когда есть божественный ржавый?

Deleted
()
Ответ на: комментарий от anonymous

Ну изобрази мне GC на крестах и так, чтобы это не выглядело, как говно, которое у Шилдта в его говнокниге.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

Ну ТС реквестирует GC и возможность его отключать.

Тут осознал нужность ЯП, который умеет одновременно в GC, а на узких местах без GC.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от DELIRIUM

Если не ошибаюсь, ТС на java кодит - там GC есть. А если что-то критичное к производительности - вроде плюсовый/сишный код можно посредством JNA дергать. Язык, в котором еще и GC включать/отключать самому надо, на мой взгляд, переусложнен

anonymous
()
Ответ на: комментарий от DELIRIUM

Ну ТС реквестирует GC и возможность его отключать.

Тут осознал нужность ЯП, который умеет одновременно в GC, а на узких местах без GC.

Жабка + Unsafe/OffHeap для нужных частей же. Все HFT так делают, nasdaq жив, зависимость есть.

anonymous
()
Ответ на: комментарий от anonymous

Так я согласен, здорово придумали. Но я вот подумал, может кто развил идею и сделал это красиво?

foror ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Сишный код конечно можно дергать, но хочется красоты и чтобы всё в одном ЯП было.

foror ★★★★★
() автор топика
Ответ на: комментарий от foror

Дык, в тех же крестах сделали по схеме всё в одном(ну, примерно) - думаю, ты сам слышал много нареканий из-за этого. Специализация под задачу рулит и педалит, если только задачи не микроскопически малы. Но это вроде не наш случай

anonymous
()
Ответ на: комментарий от anonymous

Кресты это помойка легаси. Гармоничное совмещение GC и GC-free в одном ЯП вызывает интерес. Но возможно эта задача уровня поиска философского камня.

foror ★★★★★
() автор топика
Последнее исправление: foror (всего исправлений: 1)

Эмммм. А C# с его unsafe и временным отключением GC?

Quickern ★★
()
Ответ на: комментарий от foror

Я не об этом - переусложнено получится по схеме всё в одном. Универсальные системы всегда сложны, иногда настолько, что знаешь про какую-либо возможность и полгода не въедешь, зачем это нужно. Ну и да, поиск идеальных решений, заранее обречённый на провал, ибо нет таких

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.