Re[22]: Goto's are evil?
От: reductor  
Дата: 02.12.05 14:52
Оценка: 9 (1) +1 :))
Здравствуйте, Cyberax, Вы писали:

C>reductor wrote:


>> C>Например, если нельзя допускать пауз GC и большого оверхеда

>> C>конкурентного GC. Или если существуют гораздо более эффективные методы
>> C>управления памятью для данной задачи (preallocated пулы, например). Или
>> C>если требуется *детерминированое* уничтожение объекта.
>> Вы на чей вопрос здесь отвечаете?
>> Я спрашивал для каких задач. Конкретнее.

C>Игры, требовательные десктопные приложения, системный софт.


Ну если требовательные, тогда конечно С++ нельзя, он медленный — куча тормозит из-за фрагментации. Да и на просто аллокацию у него времени уходит раза в три больше, чем у окамла.

Давайте уже договоримся — нечего делать в прикладном софте ручному управлению памятью.
Это очень дорого. Во всех смыслах.
А что касательно системного софта —
Сколько раз увидишь человека, который пишет ядро на С++, столько раз и убей его
И что характерно, на том уровне уже неважно какие синтаксически навороченные аллокации в языке.
Важно другое. Вот например то, что в cyclone

>> Опять же, про паузы интересно.


C>RTFM: http://www.memorymanagement.org/


Ну вот только не нужно этой пошлости.
Конкретно скажите у какого типа GC какие паузы и тп. И что где дороже того, что в С++ получается.
Ну вот пусть в том же окамле. А то там Лерой как-то выкладывал калькуляцию по этим вещам, хочу сравнить вашу и его.


>> C>А в С++ нет проблем с алиасингом. Более того, он тоже успешно

>> C>используется для некоторых трюков.
>> Переведите

C>В С++ нет проблем с накладывающимися массивами, так как они с помощью

C>адресной арифметики могут быть использованы для интересных
C>inplace-преобразований.

Абсолютно неинтересной невозможности компактнуть хип правильно сказать.
"интересных преобразований"

>> C>Вот вам прямо с About Haskell

>> Что вы хотели сказать цитированием мне этого sales talk десятилетней
>> давности?

C>А что, вы один должны гнать sales-talk десятилетней давности про GC?


Чооо? эт где?

>> C>В С++ продумано взаимодействие аллокаторов, стандартных контейнеров,

>> C>алгоритмов и т.п. Например, как мне поместить в контейнер OCaml'а
>> C>объект, созданый в блоке shared memory? Причем указатели в этом объекте
>> C>представлены в виде смещений относительно начала блока, а null pointer
>> C>представлен в виде указателя со смещением -1.
>> Вы будете продолжать фантазировать или хотя бы прочитаете мануал по
>> окамлу?

C>КАК мне разместить, скажем, список OCaml'а в shared memory и передать на

C>Хотя я знаю, что вы скажете — дадите мне ссылку на документацию по FFI и
C>станете рассказывать, что shared memory устарел и никому не нужен.

Вот этого я кстати не понимаю. Даже если дам ссылку на докуменртацию по FFI, то что?
Что вы этим хотели сказать?
Причем про shared memory непонятно — как это относится к мемори менеджменту-то?
Просто какой-то полет мысли
http://caml.inria.fr/pub/docs/manual-ocaml/libref/Obj.html
http://caml.inria.fr/pub/docs/manual-ocaml/libref/Marshal.html
http://caml.inria.fr/pub/docs/manual-ocaml/libref/Callback.html
http://caml.inria.fr/resources/doc/guides/pointers.en.html
http://caml.inria.fr/pub/docs/manual-ocaml/libref/Unix.html
и, конечно, описание всего вместе с FFI, если вы настаиваете:
http://caml.inria.fr/pub/docs/manual-ocaml/manual032.html

И вообще, не стесняйтесь, если что, говорите мне
Я сегодня гуглом и браузером работаю
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.