The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Язык Crystal пытается совместить производительность Си и удо..., opennews (??), 08-Авг-16, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


48. "Язык Crystal пытается совместить производительность Си и удо..."  –2 +/
Сообщение от Аноним (-), 09-Авг-16, 12:54 
> - идеология бредовая - "Все есть объект"

чем плохо иметь простую и регулярную модель языка, в которой всё предельно понятно и сведено к единственной сущности - объект?

> - возможность манкипатчить в рантайме

манкипатчить технически можно где угодно на любых языках (иногда со вставками "станного кода") и везде это плохо.

Но вот чем плохо иметь возможность в динамике переопределять методы объектов и классов?

Ответить | Правка | Наверх | Cообщить модератору

50. "Язык Crystal пытается совместить производительность Си и удо..."  +1 +/
Сообщение от Аноним84701 (?), 09-Авг-16, 14:35 
>> почему нельзя просто Ruby сделать быстрым как С и всё???
> Но вот чем плохо иметь возможность в динамике переопределять методы объектов и
> классов?

Оптимизация-с сэр.

Вы не поверите, но вызывать нужный метод каждый раз через таблицу может оказаться ощутимо медленне прямого вызова или инлайна. А уж тем более, тот же простой ADD REG1, REG2 будет куда быстрее какого-нибудь универсального


PUSH REG1
PUSH REG2
CALL [METHOD_TABLE + ADD_METHOD]
...
ADD_METHOD:
stackframe creation
MOV REG, [STACKREG-4]
ADD  REG, [STACKREG-8]
RET

особенно когда считать придется действительно много.

Ваш Кэп

Ответить | Правка | Наверх | Cообщить модератору

94. "Язык Crystal пытается совместить производительность Си и удо..."  +/
Сообщение от Аноним (-), 12-Авг-16, 23:48 
Еще бы питонисты и рубисты понимали что ты написал :)
Ответить | Правка | Наверх | Cообщить модератору

98. "Язык Crystal пытается совместить производительность Си и удо..."  +/
Сообщение от Аноним (-), 17-Авг-16, 07:43 
А как вы собрались это делать без JIT?
Ответить | Правка | К родителю #50 | Наверх | Cообщить модератору

69. "Язык Crystal пытается совместить производительность Си и удо..."  +/
Сообщение от Аноним (-), 09-Авг-16, 23:09 
> Но вот чем плохо иметь возможность в динамике переопределять методы объектов и классов?

Динамика и производительность/скорость сочетаются чуть лучше, чем никак.

Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

80. "Язык Crystal пытается совместить производительность Си и удо..."  +/
Сообщение от rob pike (?), 10-Авг-16, 16:46 
В LuaJIT почему-то сочетаются замечательно.
Ответить | Правка | Наверх | Cообщить модератору

81. "Язык Crystal пытается совместить производительность Си и удо..."  –2 +/
Сообщение от Аноним (-), 10-Авг-16, 18:02 
> В LuaJIT почему-то сочетаются замечательно.

http://benchmarksgame.alioth.debian.org/u64q/lua.html
Непохоже. Проигрывает той же жабе.

Ответить | Правка | Наверх | Cообщить модератору

83. "Язык Crystal пытается совместить производительность Си и удо..."  +/
Сообщение от ОШИБКА Отсутствуют данные в поле (?), 10-Авг-16, 22:28 
смотрели бы то на что ссылаетесь
>Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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