Информация об изменениях

Сообщение Re[46]: Java vs C# vs C++ от 05.10.2015 16:50

Изменено 05.10.2015 17:07 Pauel

Здравствуйте, Evgeny.Panasyuk, Вы писали:

I>>Ты ври да не завирайся. Разговор был про две основных вещи

I>>1 нереэнтерабельный код
I>>2 эвентлуп
I>>В _частном_ случае может работать и это всё что ты показал.

EP>Врёшь. Ты сам предложил конкретную тему примера и верищал про подвигший UI, и не надо приплетать сюда реэнтрабельность. Вот одна из веток
Автор: Evgeny.Panasyuk
Дата: 08.07.13
, по ней вниз/вверх.


Вот-вот, смотри сам — ты явно прибил короутины к эвентлупу. Про реэнтерабельность — там же.

EP>А я не говорил что трудно, это опять твои фантазии. Ты сказал что в каких-то случаях может появится задержка, и мол поэтому нам на время выполнения всё равно. Бесконечные списки — это контрпример, тут нет никаких задержек по сравнению с энергичным кодом, так как он вообще загнётся на бесконечном списке.


Задержки — есть. Каждый элемент бесконечного списка ты обрабатываешь за чуть большее вермя, чем с энергичным списком. В итоге, скажем, если крутить оба варианта в течение недели-месяца-года, то энергичный вариант `уедет` гораздо дальше ленивого.
Т.е. та самая разница, которой можно пренебречь в единичном случае, может сыграть роль в случае большого количества итераций.

EP>>>Random Access это синтетика?

I>>Ленивая работа с массивами это синтетика.

EP>С чего это вдруг?


Я уже объяснил. Частота встречаемости задач вот такая, не в твою пользу. Теоретически есть, а практически в миллион раз чаще встречается работа с конскими данными(файловая система) или по своей сути адски медленными(бд, сеть и тд).

EP>>>В обоих случаях производительность важна, и это не вторичный показатель. Молодец, сам себе опроверг.

I>>Алё — производительность вычисления одного кусочка не меняется.

EP>В том числе теряется и она — на тормозных языках, с чего и начался разговор. Но у тебя как всегда недержание контекста.


Из за ленивости — не теряется. Т.е. этим можно пренебречь в случае с единичными вызовами.
Re[46]: Java vs C# vs C++
Здравствуйте, Evgeny.Panasyuk, Вы писали:

I>>Ты ври да не завирайся. Разговор был про две основных вещи

I>>1 нереэнтерабельный код
I>>2 эвентлуп
I>>В _частном_ случае может работать и это всё что ты показал.

EP>Врёшь. Ты сам предложил конкретную тему примера и верищал про подвигший UI, и не надо приплетать сюда реэнтрабельность. Вот одна из веток
Автор: Evgeny.Panasyuk
Дата: 08.07.13
, по ней вниз/вверх.


Вот-вот, смотри сам — ты явно прибил короутины к эвентлупу. Про реэнтерабельность — там же.
Раз уж ты яростно не согласен про эвентлуп и тд, покажи на _моём_ примере, как сделать так, что бы код не морозил эвентлуп
Еще раз и внятно:
var coPing = coroutine(ping);
var coPong = coroutine(pong);

function ping () { while(true) { coPong(); }  }
function pong () { while(true) { coPing(); }  }

coPing();

setInterval(function(){ console.log('UI is alive'); }, 1000); // пока работает таймер, эвентлуп жив. Но сюда мы никогда не попадём

Ты хорошо понимаешь, что здесь происходит ? Вычислительная модель 1 к 1 с вин32 однопоточным UI приложением

EP>А я не говорил что трудно, это опять твои фантазии. Ты сказал что в каких-то случаях может появится задержка, и мол поэтому нам на время выполнения всё равно. Бесконечные списки — это контрпример, тут нет никаких задержек по сравнению с энергичным кодом, так как он вообще загнётся на бесконечном списке.


Задержки — есть. Каждый элемент бесконечного списка ты обрабатываешь за чуть большее вермя, чем с энергичным списком. В итоге, скажем, если крутить оба варианта в течение недели-месяца-года, то энергичный вариант `уедет` гораздо дальше ленивого.
Т.е. та самая разница, которой можно пренебречь в единичном случае, может сыграть роль в случае большого количества итераций.
Если ты конечно выполняешь свой любимый тест навроде i++, то можно и не увидеть разницы.

EP>>>Random Access это синтетика?

I>>Ленивая работа с массивами это синтетика.

EP>С чего это вдруг?


Я уже объяснил. Частота встречаемости задач вот такая, не в твою пользу. Теоретически есть, а практически в миллион раз чаще встречается работа с конскими данными(файловая система) или по своей сути адски медленными(бд, сеть и тд).

EP>>>В обоих случаях производительность важна, и это не вторичный показатель. Молодец, сам себе опроверг.

I>>Алё — производительность вычисления одного кусочка не меняется.

EP>В том числе теряется и она — на тормозных языках, с чего и начался разговор. Но у тебя как всегда недержание контекста.


Из за ленивости — не теряется. Т.е. этим можно пренебречь