The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"В рамках проекта Lwan развивается новый высокопроизводительн..."
Отправлено Нимано_, 28-Апр-16 17:29 
>> сложно "втиснуть" динамичность в такие рамки, чтобы компиляция в "нативный код"  
>> стала действительно эффективной, а не просто эдаким "захардкоженным" аналогом интерпретатора.
> ИИ требуется для того чтобы привести динамические типы в статические без выполнения
> кучи проверок в рантайме (интерпретатор в качестве решения проблемы - еще
> тяжеловеснее).

Наконец-то хоть до одного из анонимов дошло. А то "компилировать нельзя, ИИ нужен!!".


> чтобы получить эту уверенность путем предвычислений во время сборки, без кучи проверок
> в рантайме, надо быть AI.

В общем случае возможно что-то эдакое можно и подвести. Но тут вылезает куча оговорок и все эти обобщения могут быстро оказаться "ни о чем".
Например, если не брать в расчет хитровывернутый код, то проследить "execution path" и вывести нужные типы – ну не совсем тривиально, но и далеко не проблема "божественного ИИ"-класса.

> Сишникам с их типами (которые вообще
> фэйк) Тюринг тоже порой икается, по поводу чего есть "register", "volatile"
> и т.п..

То, что в си слабая типизация, вроде как не тайна, не?

>> Вообще, это был намек в сторону "появления новых типов". А то, если
>> послушать анонимов, оные прям из ниоткуда берутся.
> Откуда бы они ни брались, это подразумевает ряд действий. В рантайме. Т.е.
> замедление этого куска кода по сравнению с тривиальным add r1, r2,
> априори в разы.

Еще раз: проследить "code execution path", вывести типы, генерировать код.
Т.к. сам по себе, внезапно, тип не изменится, то проверки при (нетривиальном) присвоении новых значений,  будет достаточно. Причем, часть из них [проверок] скорее всего можно будет опустить и уж тем более не нужно пихать их перед каждой операцией.

Этих самых "нетривиальных"  (т.е. не вида x += 42 или x = x + y, при том что тип y для именно этой ветки вычислений известен) присвоений на самом деле не так уж и много (и не надо кивать на хитровывернутый индусо-код).
Такой подход позволит разбить код на блоки, в идеале (ну или в зависимости от требований) с одной точкой входа и в котором типы переменных по определению не изменяются. Т.е. конкретно для этих блоков оптимизация будет вполне себе ничего. Опять же, совсем не обязательно, что на выходе такого блока будут нескольно типов, а это, опять же, позволит объединять/"инлайнить" блоки.
Хотя да, можно придумать пример попорукого кода, где все это не будет работать – но такой код далеко не тот показатель, на который стоит ориентироваться.


>> И, как мы видим – вполне сработало, анонимы один за другим упорно лажались )
> Ты тоже хорош, предложил какой-то дурацкий способ и доволен по уши.

Ну, я то расчитывал на наглядном примере объяснить, что "динамизьм" можно и в си клепануть и оно скомпиляется без ИИ. Кто же знал, что у анонов настолько бурная фантазия?

> Вот ежкин кот. Я сказал про проверки. Guard насколько я понимаю частный
> случай и есть. Тебя не смущает что это будут какие-то дополнительные
> действия, далекие от add r1, r2 для тех же integer'ов?

Неа, ведь анонимов не смущает, что есть некая устоявшаяся терминология, переиначивать (а анонимов никто за язык^W пальцы не тянул) которую – как минимум чревато быть не понятым. Ну и заодно показать, что на самом деле познания – в лучшем случае общие, больше из разряда "а я вот считаю".
Что само по себе не является чем-то отрицательным, если конечно технически более-менее обоснованно. Но вот делать при этом умный и уверенный вид, предоставляя все в виде истины в последней инстанции …

>> Но увы, это не про Анонимов. Анонимы, ничтоже сумняшеся опять затянули свою
>> песнь про  типы,  да еще и пытались Тюринга к выводу оных приплести. Эпично.
> Так ты покажи где в этой логике промах?

Не-не. Дурных нема. Аноним пусть сам доказывает, что то, что он имел в виду — действительно применимо именно в этом конкретном случае )

>> guardы оказывается входят в более общее понятие "проверки типов".
> А что, не входят?

Ну, если пользоваться общепринятой терминологией тех же мозилловцев, пай-пайщиков и еще кучи людей, то нет. Максимум можно встретить [i]type guard[/i]


>> какие могут у этого подхода быть минусы" кое-кто знатно профейлил. Когда
>> советуют что-то, то обычно упоминают как минимум не только минусы,
> Не очень понятно о чем ты.

Очевидно же о "советовании" использования массивов. Аноним придумал в очередной раз что-то, блестяще опроверг, а вот на мелочах опять спалился )


>> включение в «более общее понятие 'проверки типов'» вообще-то отдает очередной,
>> сугубо личной верованием^W терминологией очередного анонима.
> Не к чему докопаться - займись буквоедством? Можешь еще орфографические ошибки поискать,
> дарю идею.

Упорно переиначивать устоявшуюся терминологию обычно таки не самая лучшая идея.
Все равно что "жать на курок" или обзывать системный блок "процессором". Оно даже без дополнений автора понятно, что он отнюдь не то имел в виду, но осадочек-то остается


> Это ты так намекаешь, что если технические аргументы закончились - нужно провести
> персональную атаку на оппонента? У тебя и это плохо получается.

Не, я же не Аноним, мне это как бы не нунжно. Хотя обозвать инкриминирование "перевода стрелок" персональной атакой – это сильно )  
А что, нужно было написать от имени оппонента, что он "Лох Педальный" и ходить, раздуваясь от ЧСВ? Ну да, это стильно и аргументативно! )


>> То, что конкретный jit чего-то не может, как бы вообще не показатель.
> Это не "конкретный jit" а некий constraint: чем более качественный код мы
> хотим получить, тем больше времени надо потратить на анализ.

На пальцах – jitу не обязательно каждый раз анализировать с нуля.
Религиозных запретов на сохранение промежуточных результатов нет.

> Ты прав, JIT и даже AOT на стороне юзера - больная тема.
> Сомневаешься? Посмотри сколько времени .NET в винде после установки генерит сборки
> в нативном коде из абстрактного. Всего полдня лагания компа - и
> готово.

То же самое можно было сказать 200 лет назад о "самобеглых колясках" – шумны, вонючи, медленны и легко уделываются хорошей тройкой. Как и о первых пароходах.
В общем, аргумент весьма сомнительный.

>>> Участник:    Нимано
>>> ФИО:    Лох Педальный

Это почти из разряда "Написать на двери оппонента <такой-то – дурак>, навалять кучу под дверь и ходить гордым и довольным". Т.е. мне не понять.

> Ты так активно педалировал тему анонимов, что он стал НЕаноним :P.

Т.е. это уже я прятаться за безликим "Анонимом", активно каждый раз твердя "я другой Аноним!"? Ну окай, пусть будет так. Хорошо, что анонимы не в курсе моего реального адреса, а то боюсь, "доказательства превосходства" в виде надписей на двери и, возможно, кое-чего похуже и попахучее под оной, я бы не оценил.

>>  Знатно у вас припекает )
> Уверен что у меня? :)

Т.е. написать от "как-бы имени" оппонента, какой он "педальный лох" – признак адекватной реакции? Ой, да ладно вам сказки рассказывать )

> Впрочем, если тебе нужен этот ник -
> напиши какую-нибудь ненужную почту в ответе - я тебе пароль туда
> вышлю, пока не забыл. Мне этот ник не требуется.

Да не особо – "ним-Ано", не? Просто, чтобы не прятаться за безликим "Аноним", в отличие от.
Хотя, если совесть гложет, то пожалуйста:
nimano@you-spam.com

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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