Re[32]: Реальная производительность WebAssembly?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.09.17 13:15
Оценка:
Здравствуйте, alexzzzz, Вы писали:

A>>>1. Если участку программы нужна скорость, тут и профайлером смотрят, и бенчмарки гоняют-сравнивают, и используют любые доступные средства — цель оправдывает.

I>>Код должен быть относительно читабельным после оптимизаций. В противном случае его выбросят после долгого геморроя с майнтенансом.

A>Выбросят, участок программы снова станет в 10 раз медленнее, и кто-то за это получит по шапке.


Не получит, потому что от геморроя с майнтенансом устают очень быстро и идут на компромиссы по перформансу.
Всегда должен быть баланс между профитом от оптимизаций и убытком от майнтенанса.
Если в оптимизированый код умеет фиксить только один человек, то очень быстро вся команда станет зависеть от него одного.
Проще согласиться на ту оптимизацию, которая более-менее читабельна и может майнтейниться любым человеком из команды.
Re[33]: Реальная производительность WebAssembly?
От: alexzzzz  
Дата: 25.09.17 14:00
Оценка:
Здравствуйте, Ikemefula, Вы писали:

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


A>>>>1. Если участку программы нужна скорость, тут и профайлером смотрят, и бенчмарки гоняют-сравнивают, и используют любые доступные средства — цель оправдывает.

I>>>Код должен быть относительно читабельным после оптимизаций. В противном случае его выбросят после долгого геморроя с майнтенансом.
A>>Выбросят, участок программы снова станет в 10 раз медленнее, и кто-то за это получит по шапке.
I>Не получит, потому что от геморроя с майнтенансом устают очень быстро и идут на компромиссы по перформансу.

Мы сейчас рассуждаем о гипотетическом коде, который гипотетически был как-то сильно оптимизирован и какая-то гипотетическая команда программистов решает, как с этим кодом поступить. При такой посылке можно договориться до чего угодно.
Re[34]: Реальная производительность WebAssembly?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 25.09.17 15:34
Оценка:
Здравствуйте, alexzzzz, Вы писали:

I>>Не получит, потому что от геморроя с майнтенансом устают очень быстро и идут на компромиссы по перформансу.


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


Я такое наблюдал и вживую, и со стороны. Оптимизации это всегда усложнения. Соответственно стоимость поддержки растет. Отсюда и выражение про "premature optimisation". Т.е. выше уровня поддерживаемости не прыгнешь, это и есть потолок для оптимизаций, а вовсе не сам эффект.
Re[32]: Реальная производительность WebAssembly?
От: CoderMonkey  
Дата: 25.09.17 16:22
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Оу, т.е. ты кроме всего прочего ещё и ничего не понимаешь в тестах производительности... Среднее значит, понятненько...


Если у тебя есть идеи получше — выкладывай. Не надо ограничиваться важным надуванием щек.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[38]: Реальная производительность WebAssembly?
От: CoderMonkey  
Дата: 25.09.17 16:22
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Браво, ты предлагаешь сравнить гуглошит с наколеночной поделкой ?


Я предлагаю сравнить аналогичный код для C# и JS, если уж ты так решил упереться рогом и не обращать внимания на совершенно очевидную огромную разницу в отжоре памяти веб- и обычных приложений.
Это при условии, что ты не будешь юлить и врать про цифры
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[20]: Реальная производительность WebAssembly?
От: CoderMonkey  
Дата: 25.09.17 16:22
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>И как же ты его запустил ?


А какие есть варианты, кроме очевидного?

I> Я так и думал. Хорошо хоть не интернет эксплорер.

I>Запусти его в хроме последнем, в ноде 6м или 8м. Ты в курсе, что разные рантаймы имеют сильно разный перформанс ? Вот скажем MS Edge вообще 20 секунд сортирует.

Ну всё, началось кручение хвостом. Там не сравнивай, здесь сравнивай.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[18]: Реальная производительность WebAssembly?
От: CoderMonkey  
Дата: 25.09.17 16:24
Оценка:
Здравствуйте, alexzzzz, Вы писали:

A>Неважно. Если в JS нет указателей, к примеру, это его проблемы. Ты ведь не будешь писать код на C#, постоянно вспоминая, что в JS нет указателей? Если в JS нет quick sort (может и есть, я не знаю), то пусть тот, кто пишет на JS, сам делает свою реализацию.


Встроенная реализация может быть абсолютно разной. Может, там вообще реализация на ассемблере, которая встроена в рантайм. И чего ты добьешься, сравнивая ее с реализацией на ЯВУ?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[21]: Реальная производительность WebAssembly?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.09.17 08:49
Оценка:
Здравствуйте, CoderMonkey, Вы писали:

I>>И как же ты его запустил ?


CM>А какие есть варианты, кроме очевидного?


Пудозреваю, ты решил будто я случайно нашел в инете файлик, точь-в-точь как твой да всего лишь с одной ошибкой.

I>> Я так и думал. Хорошо хоть не интернет эксплорер.

I>>Запусти его в хроме последнем, в ноде 6м или 8м. Ты в курсе, что разные рантаймы имеют сильно разный перформанс ? Вот скажем MS Edge вообще 20 секунд сортирует.

CM>Ну всё, началось кручение хвостом. Там не сравнивай, здесь сравнивай.


Пудозреваю, ты даже не догоняешь, что на разном железе-софте результаты всегда разные. Хочешь получить те цифры, что у меня — есть только один вариант.
Ну а если тебе говном покидаться — давай, у тебя похоже запасец нерастраченый.
Re[39]: Реальная производительность WebAssembly?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.09.17 08:54
Оценка: -1 :)
Здравствуйте, CoderMonkey, Вы писали:

I>>Браво, ты предлагаешь сравнить гуглошит с наколеночной поделкой ?


CM>Я предлагаю сравнить аналогичный код для C# и JS, если уж ты так решил упереться рогом и не обращать внимания на совершенно очевидную огромную разницу в отжоре памяти веб- и обычных приложений.

CM>Это при условии, что ты не будешь юлить и врать про цифры

Что значит "аналогичный" ? Ты собираешься на шарпе написать полнофункциональный аналог гуглошита ? Идёт. Возьмем какой ёмкий докуменик, скажем, для рассчета всякой механики и тд, да посмотрим.
Если по фичам твой аналог не вытянет — память незачем сравнивать.

Если ты хочешь просто грид показать на шарпе, то на JS такое пишется примерно в 30 строчек, на форуме есть пример.

Ну и про память расскажи, что же будем сравнивать — всю память включая код или только выборочно.

Валяй.
Re[35]: Реальная производительность WebAssembly?
От: alexzzzz  
Дата: 26.09.17 13:19
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Я такое наблюдал и вживую, и со стороны. Оптимизации это всегда усложнения. Соответственно стоимость поддержки растет. Отсюда и выражение про "premature optimisation". Т.е. выше уровня поддерживаемости не прыгнешь, это и есть потолок для оптимизаций, а вовсе не сам эффект.


"Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%."

Будет надо — прыгнешь. На самый жуткий хардкор повесишь табличку "Не влезай — убьёт!", обернёшь каким-нибудь более-менее пристойным интерфейсом и обвесишь по периметру тестами.
Re[19]: Реальная производительность WebAssembly?
От: alexzzzz  
Дата: 26.09.17 13:20
Оценка: +1
Здравствуйте, CoderMonkey, Вы писали:

A>>Неважно. Если в JS нет указателей, к примеру, это его проблемы. Ты ведь не будешь писать код на C#, постоянно вспоминая, что в JS нет указателей? Если в JS нет quick sort (может и есть, я не знаю), то пусть тот, кто пишет на JS, сам делает свою реализацию.


CM>Встроенная реализация может быть абсолютно разной. Может, там вообще реализация на ассемблере, которая встроена в рантайм. И чего ты добьешься, сравнивая ее с реализацией на ЯВУ?


Я сравню скорость получения желаемого результата на разных языках. Польза очевидна — на каком языке задача решается быстрее, тот и подходит лучше для решения похожих задач, когда скорость важна. Когда скорость не важна, ничего сравнивать не нужно, и все наши наши изыскания в этой теме лишены смысла.

Если подгонять реализации решения задачи на разных языках друг под друга и потом их сравнивать, то пользы от такого сравнения я уже не вижу. Проблемы две, принципиальная и непринципиальная:

1. В реальном проекте такой код никто писать не будет. Подгонять реализацию на C# под гипотетическую реализацию того же самого на JS — зачем такое может понадобиться практически? Или ты выбрал C# и пишешь на нём, потому что он лучше подходит под задачу; или ты пишешь на JS, потому что он лучше подошёл. И естественно ты пишешь на языке X в стиле языка X с использованием любых доступных в языке X средств. Если это вдруг не так, то непонятно, какого хрена был выбран X, а не Y.

Как определить, какой из языков лучше подходит для решения задачи? Решить её (или её упрощённый вариант) средствами этих языков и сравнить. Что я и делаю.

2. Реализации одного и того же на разных языках всегда будут отличаться. Как ты заметил, встроенная реализация чего-угодно может быть абсолютно разной. Например, в JS нет разделения чисел на целые и дробные. Всё, приехали. Не писать же из-за этого в C# такую хрень: for (double i = 0; i < 5.0; i++). В JS выхода нет, а в C# ToString от целого и ToString от дабла — две большие разницы.
Re[36]: Реальная производительность WebAssembly?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.09.17 13:54
Оценка:
Здравствуйте, alexzzzz, Вы писали:

I>>Я такое наблюдал и вживую, и со стороны. Оптимизации это всегда усложнения. Соответственно стоимость поддержки растет. Отсюда и выражение про "premature optimisation". Т.е. выше уровня поддерживаемости не прыгнешь, это и есть потолок для оптимизаций, а вовсе не сам эффект.


A>

"Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%."

A>Будет надо — прыгнешь. На самый жуткий хардкор повесишь табличку "Не влезай — убьёт!", обернёшь каким-нибудь более-менее пристойным интерфейсом и обвесишь по периметру тестами.

Ты почему то процитировал по английски то, что я сказал тебе по русски. Но вывод сделал свой собственный. Так прямо и вижу: "Будем выпускать версии в два раза реже без важных фич, но обеспечим перформанс любой ценой"
Те 3%, если их можно отгородить, то это и есть то самое условие, что я говорю — возможность майнтенанса. В том числе это возможность изолировать рисковые места. И ты можешь оптимизировать только до тех пор, пока есть такая возможность. Дальше тебя уже и спрашивать не будут — выбросят нахрен проект и будут пилить на другом языке, архитектуре и тд.
Re[40]: Реальная производительность WebAssembly?
От: CoderMonkey  
Дата: 26.09.17 15:46
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Что значит "аналогичный" ? Ты собираешься на шарпе написать полнофункциональный аналог гуглошита ? Идёт. Возьмем какой ёмкий докуменик, скажем, для рассчета всякой механики и тд, да посмотрим.


Аналогичный между C# и JS. Слишком сложно для тебя?

I>Ну и про память расскажи, что же будем сравнивать — всю память включая код или только выборочно.


А с какого фига, собственно, "выборочно"?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[22]: Реальная производительность WebAssembly?
От: CoderMonkey  
Дата: 26.09.17 15:53
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Пудозреваю, ты решил будто я случайно нашел в инете файлик, точь-в-точь как твой да всего лишь с одной ошибкой.


Твой "ход мыслей" ушел куда-то совсем в неведомые глубины.
Ну так что, какие есть варианты запуска, кроме очевидного?

I>Пудозреваю, ты даже не догоняешь, что на разном железе-софте результаты всегда разные.


На самом деле, характеристики железа сейчас различаются минимально. Даже между десктопами и ноутбуками, кроме совсем убогих.
Кроме этого, разница в железе не объясняет, почему у тебя разница в разные стороны, и при этом — в те стороны, которые тебе выгодны .

I>Хочешь получить те цифры, что у меня — есть только один вариант.


Не хочу. Хочешь доказать, что твои цифры не высосаны из пальца — доказывай.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[20]: Реальная производительность WebAssembly?
От: CoderMonkey  
Дата: 26.09.17 15:59
Оценка:
Здравствуйте, alexzzzz, Вы писали:

A>Я сравню скорость получения желаемого результата на разных языках. Польза очевидна — на каком языке задача решается быстрее, тот и подходит лучше для решения похожих задач, когда скорость важна.


"Решается" как? Быстрее написать прототип? Быстрее написать полноценный релиз? Быстрее искать и фиксить баги?

A>Если подгонять реализации решения задачи на разных языках друг под друга и потом их сравнивать, то пользы от такого сравнения я уже не вижу.


Можно и не подгонять. Но тогда для небольшого бенчмарка слишком велика вероятность, что одна мелкая оптимизация очень сильно исказит результат — в случае с встроенной сортировкой, например. А писать большой и объемистый бенчмарк — долго и сложно.
Так что, проще всё же взять и сравнить по возможности сравнимое.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[23]: Реальная производительность WebAssembly?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.09.17 18:24
Оценка: :)
Здравствуйте, CoderMonkey, Вы писали:

I>>Пудозреваю, ты решил будто я случайно нашел в инете файлик, точь-в-точь как твой да всего лишь с одной ошибкой.


CM>Твой "ход мыслей" ушел куда-то совсем в неведомые глубины.

CM>Ну так что, какие есть варианты запуска, кроме очевидного?

Да как ни крути, у тебя всё ясно — я ничего не делал да всё наврал. Ты это повторяешь на каждом углу.

I>>Пудозреваю, ты даже не догоняешь, что на разном железе-софте результаты всегда разные.


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


Во первых, это не так. i3, i5, i7 отличаются значительно, особенно, если они разных поколений.
Во вторых. Кроме того, частоту памяти никто не отменял — сортировка это проезд по памяти, а не булка с маслом.
Во третьих, ты до сих пор не осилил под нодом, скажем 0.6.11 или 0.8.5, запустить ?

CM>Кроме этого, разница в железе не объясняет, почему у тебя разница в разные стороны, и при этом — в те стороны, которые тебе выгодны .


Судя по твоему нытью ты вот сих пор не догадался сделать внятное сравнение с версией на CompareOrdinal

I>>Хочешь получить те цифры, что у меня — есть только один вариант.

CM>Не хочу. Хочешь доказать, что твои цифры не высосаны из пальца — доказывай.

Во первых, на кой ляд ?
А во вторых — в любом случае ты скажешь "подстроил", "не то жээс", "фотошоп". Другого пока не видно.
Re[41]: Реальная производительность WebAssembly?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.09.17 18:29
Оценка:
Здравствуйте, CoderMonkey, Вы писали:

I>>Что значит "аналогичный" ? Ты собираешься на шарпе написать полнофункциональный аналог гуглошита ? Идёт. Возьмем какой ёмкий докуменик, скажем, для рассчета всякой механики и тд, да посмотрим.


CM>Аналогичный между C# и JS. Слишком сложно для тебя?


Непонятно, что ты в это вкладываешь. Функциональность, внешний вид, количество строчек кода ? Сначала ты взялся соревноваться с Excel и googlesheets. Ты передумал ?

I>>Ну и про память расскажи, что же будем сравнивать — всю память включая код или только выборочно.


CM>А с какого фига, собственно, "выборочно"?


Ну пока что ты напираешь именно на этот вариант, а то если всю память, включая код, то придется посмотреть, чего сколько мб у экселя в шаред библиотеках. И далеко не факт, что хром перевесит. В хроме слишком много своего написано, потому что он кроссплатформенный. А эксель целиком на АПИ виндовса, то есть, будут тонны мегабайт в шаред библиотеках.

И как ты это будешь сравнивать ? Изложи методику, а то судя по предыдущему "примеру" сортировки, ты вообще в замерах ничего не понимаешь.
Re[42]: Реальная производительность WebAssembly?
От: CoderMonkey  
Дата: 26.09.17 18:46
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Непонятно, что ты в это вкладываешь. Функциональность, внешний вид, количество строчек кода ?


Функциональность, естественно.

I>Сначала ты взялся соревноваться с Excel и googlesheets. Ты передумал ?


И не брался Какой ты все-таки унылый изворотливый казуист.

I>И как ты это будешь сравнивать ? Изложи методику, а то судя по предыдущему "примеру" сортировки, ты вообще в замерах ничего не понимаешь.


Враньё.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[24]: Реальная производительность WebAssembly?
От: CoderMonkey  
Дата: 26.09.17 18:46
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Да как ни крути, у тебя всё ясно — я ничего не делал да всё наврал. Ты это повторяешь на каждом углу.


Мои замеры показали диаметрально противоположный результат. Так что либо врут мои глаза, либо ты.

I>Во первых, это не так. i3, i5, i7 отличаются значительно, особенно, если они разных поколений.

I>Во вторых. Кроме того, частоту памяти никто не отменял — сортировка это проезд по памяти, а не булка с маслом.

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

I>Во третьих, ты до сих пор не осилил под нодом, скажем 0.6.11 или 0.8.5, запустить ?


Теперь уже под нодом, а не под хромом? Ты уж определись наконец.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[25]: Реальная производительность WebAssembly?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 26.09.17 18:57
Оценка: :)
Здравствуйте, CoderMonkey, Вы писали:

I>>Да как ни крути, у тебя всё ясно — я ничего не делал да всё наврал. Ты это повторяешь на каждом углу.


CM>Мои замеры показали диаметрально противоположный результат. Так что либо врут мои глаза, либо ты.


Разумеется, потому что ты в фоксе запускаешь. Чего ты хотел от вымирающей платформы ? В Интернет Эксплорере результат еще хуже будет.

I>>Во первых, это не так. i3, i5, i7 отличаются значительно, особенно, если они разных поколений.

I>>Во вторых. Кроме того, частоту памяти никто не отменял — сортировка это проезд по памяти, а не булка с маслом.

CM>Не в разы. Если не считать совсем дешевые говно-ноутбуки или железо 15-летней давности, естественно.


Частота процессора, турбо-режим, частота памяти — все это дает слишком большое влияние.

I>>Во третьих, ты до сих пор не осилил под нодом, скажем 0.6.11 или 0.8.5, запустить ?


CM>Теперь уже под нодом, а не под хромом? Ты уж определись наконец.


Важно, что ты не пробовал ни того, ни другого, но перешел к обвинениям.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.