Re[18]: Не пора ли нам перейти на D
От: Cyberax Марс  
Дата: 10.04.07 04:00
Оценка:
Здравствуйте, VladD2, Вы писали:

C>>Ну и для JVM у нас еще получается бенефит в виде возможности быстрой интерпретации.

VD>Ой как я люблю такие словосочетания... "быстрой интерпретации", "живой труп", ... Обожаю!
VD>
Ну что сделать, если для .NET интерпретация байт-кодов еще медленнее
Sapienti sat!
Re[19]: Не пора ли нам перейти на D
От: WolfHound  
Дата: 10.04.07 14:42
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Ну что сделать, если для .NET интерпретация байт-кодов еще медленнее

А зачем вобще интерпритировать? Если можно компилировать?
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[19]: Не пора ли нам перейти на D
От: WolfHound  
Дата: 10.04.07 14:42
Оценка: -1 :)
Здравствуйте, Cyberax, Вы писали:

C>Ты можешь примерно набросать идею своей VM? Сейчас снова ожил проект http://hlvm.org/ — это как раз проект создания обобщенной виртуальной машины на базе LLVM. Может им полезно будет.

Не будет.
Ибо

focusing first on dynamic languages like Python and Ruby

А я считаю Python, Ruby и тп ошибкой природы. С++ я тоже считаю ошибкой природы.
Так что мои идеи совершенно несовместимы ни с LLVM ни с HLVM.

C>Благодаря ей у нас есть HotSpot в JVM. В теории, можно было бы заменить на многостадийную JIT-компиляцию, но сложность уже намного больше будет.

HotSpot в морг. Ибо не смотря на все потуги он не помогает жабе работать быстрее С++

C>Реально помогает, тем не менее.

Чем?
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[20]: Не пора ли нам перейти на D
От: Cyberax Марс  
Дата: 11.04.07 06:08
Оценка:
Здравствуйте, WolfHound, Вы писали:

C>>Ты можешь примерно набросать идею своей VM? Сейчас снова ожил проект http://hlvm.org/ — это как раз проект создания обобщенной виртуальной машины на базе LLVM. Может им полезно будет.

WH>Не будет.
WH>Ибо
WH>

focusing first on dynamic languages like Python and Ruby

Заметь слово first — они не исключают статических языков.

WH>А я считаю Python, Ruby и тп ошибкой природы. С++ я тоже считаю ошибкой природы.

WH>Так что мои идеи совершенно несовместимы ни с LLVM ни с HLVM.
На Питоне очень удобно скрипты писать, так что не надо. А на С++ для девайсов тоже очень все неплохо пишется.

C>>Благодаря ей у нас есть HotSpot в JVM. В теории, можно было бы заменить на многостадийную JIT-компиляцию, но сложность уже намного больше будет.

WH>HotSpot в морг. Ибо не смотря на все потуги он не помогает жабе работать быстрее С++
Так JIT в .NET тоже не помогает

C>>Реально помогает, тем не менее.

WH>Чем?
Беты 1.7 работают в некоторых моих тестах ОЧЕНЬ быстро.
Sapienti sat!
Re[20]: Не пора ли нам перейти на D
От: Cyberax Марс  
Дата: 11.04.07 06:09
Оценка:
Здравствуйте, WolfHound, Вы писали:

C>>Ну что сделать, если для .NET интерпретация байт-кодов еще медленнее

WH>А зачем вобще интерпритировать? Если можно компилировать?
Сложность HotSpot VM значительно возрастает. Возможно, но сложно.
Sapienti sat!
Re[21]: Не пора ли нам перейти на D
От: WolfHound  
Дата: 11.04.07 07:48
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Заметь слово first — они не исключают статических языков.

Угу. И LLVM не исключае safe языков. Вот только из-за этих уступок ОЧЕНЬ СИЛЬНО усложняется и ослабляется оптимизатор, а валидатор кода в большинстве случаев вобще курит.

C>На Питоне очень удобно скрипты писать, так что не надо.

На один экран кода и чтобы управляли чемто намного болие тяжолым. Иначе в морг.
Если кода больше то я лучше немерле возьму. Он по крайней мере мне все проверит, а не вылетит на пол пути из-за мелкой опечатки в редкоиспользуемом месте.

C>А на С++ для девайсов тоже очень все неплохо пишется.

Можно лучше.

C>Так JIT в .NET тоже не помогает

Ибо какойто 3.1415(скорей всего маркетойд) принял решение драть ВМ с жабы.
Если бы думали головой, а не лозунгом "догнать и перегнать сан" то все можно былобы сделать много лучше.

C>Беты 1.7 работают в некоторых моих тестах ОЧЕНЬ быстро.

Быстрее чем Intel C++? На тестах которые не получают преимущества от использования ГЦ?
... << RSDN@Home 1.2.0 alpha rev. 673>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[22]: Не пора ли нам перейти на D
От: Cyberax Марс  
Дата: 11.04.07 10:31
Оценка:
Здравствуйте, WolfHound, Вы писали:

C>>Заметь слово first — они не исключают статических языков.

WH>Угу. И LLVM не исключае safe языков. Вот только из-за этих уступок ОЧЕНЬ СИЛЬНО усложняется и ослабляется оптимизатор, а валидатор кода в большинстве случаев вобще курит.
Safe-языки в LLVM делаются не просто, а очень просто. Достаточно запретить использование инструкции каста к указателям и явного удаления памяти.

Кстати, с точки зрения оптимизатора LLVM, safe и unsafe различаются очень немногим — почти что только более богатыми возможностями alias analysis в safe-языках.

Верификатор — это уже отдельный разговор.

C>>На Питоне очень удобно скрипты писать, так что не надо.

WH>На один экран кода и чтобы управляли чемто намного болие тяжолым. Иначе в морг.
Ну да, у меня таких скриптов полно — мелкие задачи замечательно оптимизируются. Еще для build-системы тоже очень неплохо подходит (использую Waf).

C>>А на С++ для девайсов тоже очень все неплохо пишется.

WH>Можно лучше.
Можно. Но пока не сделано.

C>>Так JIT в .NET тоже не помогает

WH>Ибо какойто 3.1415(скорей всего маркетойд) принял решение драть ВМ с жабы.
WH>Если бы думали головой, а не лозунгом "догнать и перегнать сан" то все можно былобы сделать много лучше.
Не получится. Без перекомпиляции налету с возможностью деоптимизации (ключевой пункт) многие возможности оптимизации просто невозможны.

Для банального устранения виртуальности нужно уметь делать деоптимизацию, если вдруг у нас динамически загружается сборка и оптимизация проваливается.

C>>Беты 1.7 работают в некоторых моих тестах ОЧЕНЬ быстро.

WH>Быстрее чем Intel C++? На тестах которые не получают преимущества от использования ГЦ?
На чисто числодробительных задачах — не проверял. Но тут, собственно, ни один JIT не поможет — компилировать одну сборку полчаса при загрузке будет недопустимо. А вот HotSpot как может зарулить — просто запускаем движок оптимизации на соседнем ядре (Intel аннонсировал 8-ядерный процессоры, выполняющие по 16 параллельных тредов) и пусть себе там думает.
Sapienti sat!
Re[22]: Не пора ли нам перейти на D
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 15.04.07 21:09
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, IT, Вы писали:


IT>>А если выводить тип приватных методов?


VD>Язык переживет. Тормозов только будет по больше. Для IDE — это будет полный кабждец. Прейдется перекомпилировать на каждый чих все приватные методы. Точнее все, так как их и выделить то нельзя.


То есть как это нельзя?
    FormatType(_tb : TypeBuilder) : void
    {
      def members = _tb.GetDirectMembers().Filter(m => 
                                            match(m)
                                            {
                                            | mb is MethodBuilder => (mb.Modifiers.Attributes & NemerleAttributes.Private) != 0
                                            | _ => false
                                            });
      foreach(member in members)
      {
        Debug.WriteLine($"Private method: $(member.Name)");
      }
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
--
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.