Re[28]: Не пора ли нам перейти на D
От: Cyberax Марс  
Дата: 03.03.07 09:47
Оценка:
VladD2 wrote:
>> > C>Даже параллельный конкуррентный GC вынужден на определенное время
>> > C>останавливать всех мутаторов. Оно достаточно короткое, но вполне
>> > C>существенное для многих целей.
>> > И что?
> C>Не всегда это терпимо. Хороший пример — игры. Вряд ли тебе будет
> C>приятно, если у тебя иногда игра будет на пару секунд зависать.
> У тебя отсуствует чувство реальности. Из своих же слов "на определенное
> время останавливать" ты почему-то сразу делаешь вывод "пару секунд
> зависать".
У меня есть эмпирические данные — мое приложение с кучей в 4Гб (кэш
объектов) зависает примерно на 0.5-5 секунды каждые полчаса. Это было
очень неприятно, так как одна остановившаяся нода нарушала репликацию во
всем кластере.

>> > C>Нормальный полный конкуррентный GC невозможен без аппаратной поддержки

>> > Это вопрос терминологии. К тому же конкуррентный и хорошо параллелящийся
>> > — это две большие разницы.
> C>Это я прекрасно знаю, поэтому и пишу "параллельный конкуррентный".
> Где? И зачем?
См. выделеное.

> C>Проблема в том, что для GC в том же .NET *не существует*

> C>иммутабельных объектов. Так как через reflection ты можешь поменять даже
> C>содержимое string. А значит, куча оптимизаций из Erlang GC идет лесом.
> Опять какие-то не относящиеся к делу аргументы. Я уже не говорю о том,
> что никакая рефлексия не мешает заниматься интернированием строк в
> донете.
Надеюсь, ты не будешь спорить о том, что интернация — это просто
оптимизация, которую применить можно очень редко, да которая еще и кривая?

> Мне просто интересно как все эта притянутая за уши фигня

> помешает мне создать удобный фрэймворк для распараллеливания некоторого
> класса задач?
Не помешает. В Скале так и сделали. Просто его перформанс часто будет
сильно уступать специализированым VM.

>> > О изменениях VM пока что можно только мечтать.

> C>Я сейчас финансирование на CLR для LLVM провожу. Так что я могу и мечтать
> Давай сделаем так. Если в друг твои мечты станут реальностью и ты
> доведешь это дело хотя бы до состояние бэты, то тогда и погворим. А
> потка ваши мечты и домысли не должны быть основанием для рассуждений,
> просто потому что они виртуальны.
Да без проблем

> Учитывая все это, ответь плиз, на ворос — неужели нельзя создать удобный

> фрэйворк который хотя бы предотвратит тонных ошибок которые неизбежно
> убдут при ручной реалзации?
В Эрланговском стиле? Вполне можно. Правда останутся проблемы с легкими
потоками — уж слишком гемморойно их эмулировать.

Собственно, я сначала хотел портировать N. на LLVM, чтобы сделать потом
на нем аналог Эрланга и добавить туда фичи типа RI для управления
памятью. Потому как Эрланг работает неплохо, но на контроллерах с 170MHz
уже слишком медленно.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.