|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
hVostt, ))) У нас корпоратив, минимум динамики, заказчики на LUA не пишут. )) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 09:14 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
PetroNotC Sharp hVostt, ))) У нас корпоратив, минимум динамики, заказчики на LUA не пишут. )) заказчики вообще ни на чём не пишут ) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 09:24 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
hVostt, ОК, составляют скрипт на LUA ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 09:37 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
PetroNotC Sharp hVostt, ОК, составляют скрипт на LUA да не, заказчики заказывают функционал, а как он реализуется, им пофигу. главное чтобы быстро и дёшево. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 10:42 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
hVostt, Ну вот видишь, разница есть. В java говорят "заказчик" это покупатели и пользователи системы. То есть собирательный образ. И в java очень строгий/аскетичный интерфейс ГУИ на ПО. Пользователю нужны строгие кнопки и рубильники. А не LUA скрипты. А шарп с однояйцевым близнецом JS скриптовым языком LUA это другое. Поэтому ты пишешь, что у вас на рабочем месте прогеров есть всё и сразу: облака, кластеры, микросервисы, конфигураторы,... докеры, оркестраторы докеров. Другое в шарпе немного)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 10:57 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
hVostt, Пример другой планеты. В плюсах вместо рест модно межмодульное общение по Protobuf, gRPC от гоогле. Гугл посчитал что вебовский json и рест это плохо)) и не хайпово. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 11:02 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
PetroNotC Sharp hVostt, Пример другой планеты. В плюсах вместо рест модно межмодульное общение по Protobuf, gRPC от гоогле. Гугл посчитал что вебовский json и рест это плохо)) и не хайпово. Нет. Есть совершенно техничный расчет. Нагрузка на парсинг json - ненулевая. И в тайм-критичных отраслях его имеет смысл заменять на бинарный протокол. Сюда-же до кучи хранение BLOBS. В json его оборачивают в bas64 а это не очень экономно. Кроме того Protobuf заявлен как толерантный к last/big endian а это очень важно для когда бинарные месседжи должны одинаково представлять целые числа на экзотических железяках. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 11:11 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
mayton, Ну а порядок байт то зачем критично? Вадя тут тоже скорость постоянно меряет. Микросекунды ищет. Что за протокол где скорость важна настолько, что монолит понадобился))) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 11:35 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
До того как мы начнем обсуждать микро-секунды я дам парочку цифр. Свет в вакууме проходит расстояние 30 см за 1 наносекунду. Можно прикинуть что оперативная память с быстрым доступом работающая на нано-секундах (6нс) должна учитывать компоновку на материнке так чтобы ФИЗИЧЕСКОЕ расстояние электронных дорожек на монтаже было КОРОТКИМ. Тем более что свет (электромагнитная волна) здесь привен просто как близкая аналогия к электричеству в металле). Поэтому когда мы говорим о микро-секундах (это величина на 3 порядка (*1000)) больше чем световой отрезок о котором я говорил то надо понимать что бесполезно оптимизировать траекторию света если у нас есть задержки другого порядка. Задержка в 1 микро-секунду - это уже 1000 циклов ожиданя света. Тоесть несоизмеримо долго. Далее. И чтобы мерять микро-секунды у нас в коде не должно быть величин на 3 порядка больше. К таким величинам я отношу - Seek time физического блока жесткого диска (HDD) 15 милисекунд (почти на всех моих HDD с небольшим отклонением) - Ping time до Нью-ЙОрка был порядка 120 мс. - Время JIT компилляции. Здесь я точно не уверен но вангую больше 100 мс. Кроме того это сильно зависит от complexity самого java-метода. И если у нас в коде вдруг (!) внезапно активировался JIT компиллятр и вставил задержку в 200 мс то измерение микро-секунд вообще не имеет никакого смысла. Мы внесли погрешность настолько большую что доверять измеряемым цифрам в принципе невозможно. Какой выход? Делать очень много измерений. И усреднять. По аналогии с JMeter для веба и JMH для хардкорных функций которые должны быть на пике скорости. Код который привел Вадя - этим условиям не удовлетворяет. Он не собирает 1 callback и делает по нему выводы. Надо сделать хотя-бы 100 * 1000 каллбеков чтобы скопменсировать эффект JIT. Или делать 1000 циклов прогрева без измерений и еще 100 уже по горячему коду. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 12:21 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
PetroNotC Sharp В java говорят "заказчик" это покупатели и пользователи системы. То есть собирательный образ. Не понимаю, почему вы конкретное ведение бизнеса как-то прицепили именно к Java. Если так получается, что наличие Java ощутимо меняет бизнес-правила, тогда Java уже давно бы отправилась на помойку и не взлетела. Нафиг никому такие яйца не упёрлись, ни в анфас, ни в профиль :) К счастью, это не так. PetroNotC Sharp И в java очень строгий/аскетичный интерфейс ГУИ на ПО. Пользователю нужны строгие кнопки и рубильники. А не LUA скрипты. Интерфейс он не в Java, его проектируют UX/UI специалисты. Если вы на своей Java не можете его реализовать, значит либо лыжи не едут, либо танцор из вас некудышный :) PetroNotC Sharp А шарп с однояйцевым близнецом JS скриптовым языком LUA это другое. У шарпа с JS и LUA ровно столько общего, сколько и у Java. PetroNotC Sharp Поэтому ты пишешь, что у вас на рабочем месте прогеров есть всё и сразу: облака, кластеры, микросервисы, конфигураторы,... докеры, оркестраторы докеров. Другое в шарпе немного)))) Так что другое-то? Всё тоже самое. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 12:25 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
mayton Надо сделать хотя-бы 100 * 1000 каллбеков чтобы скопменсировать эффект JIT. Или делать 1000 циклов прогрева без измерений и еще 100 уже по горячему коду. Тут даже не в этом дело. Накладные расходы на сетевые задержки при обмене данными полностью нивелируют затраты на построение строки в памяти. Даже если выиграть микросекунду другую, это в конечном счёте не оказывает влияния на конечный результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 12:29 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
hVostt mayton Надо сделать хотя-бы 100 * 1000 каллбеков чтобы скопменсировать эффект JIT. Или делать 1000 циклов прогрева без измерений и еще 100 уже по горячему коду. Тут даже не в этом дело. Накладные расходы на сетевые задержки при обмене данными полностью нивелируют затраты на построение строки в памяти. Даже если выиграть микросекунду другую, это в конечном счёте не оказывает влияния на конечный результат. Вадя должен это увидеть глазами. Я считаю что тема топика - не троллить и поносить Вадю. А разъяснить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 12:34 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
hVostt, Не делают ГУИ на java. Уже давно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 13:21 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
hVostt mayton Надо сделать хотя-бы 100 * 1000 каллбеков чтобы скопменсировать эффект JIT. Или делать 1000 циклов прогрева без измерений и еще 100 уже по горячему коду. Тут даже не в этом дело. Накладные расходы на сетевые задержки при обмене данными полностью нивелируют затраты на построение строки в памяти. Даже если выиграть микросекунду другую, это в конечном счёте не оказывает влияния на конечный результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 13:22 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
mayton Я считаю что тема топика - не троллить и поносить Вадю. А разъяснить. hVostt Даже если выиграть микросекунду другую, это в конечном счёте не оказывает влияния на конечный результат. меня бесит когда операторы нажав на клаву ждут кучу времени. и при этом понимаешь, что данное действие - просто не доработка прогера.... hVostt Накладные расходы на сетевые задержки при обмене данными полностью нивелируют затраты на построение строки в памяти ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 13:26 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
вадя, авторкогда в проекте проигрываешь по одной микросекунде в 1000 место это становится 1 секундой, и если пользователей 1000 то всё вытекает в тормозную систему. меня бесит когда операторы нажав на клаву ждут кучу времени. и при этом понимаешь, что данное действие - просто не доработка прогера....это миф или сон ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 13:33 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
вадя когда в проекте проигрываешь по одной микросекунде в 1000 место это становится 1 секундой, и если пользователей 1000 то всё вытекает в тормозную систему. меня бесит когда операторы нажав на клаву ждут кучу времени. и при этом понимаешь, что данное действие - просто не доработка прогера.... Нужно не бесится а измерять. И браузер показывает распределение таймингов. И на back-end можно внедрить точный сбор метрик. Микро- суффикс означает одна миллионная. Это так. Замечание. Твоя инициатива похвальна. Но методы - судорожные и гипертрофированные. Нет смысла оптимизировать конкатенации строк когда у тебя - кривой nginx, который не настроен чтоб выполнять свои функции. - Не настроен и не используется Infinispan/EhCache. - плохо ведет себя клиент (использует 3g модем или браузер в телевизоре смарт-тв) Это всё нагромождение технического долга должно быть собрано в брейншторм. Проанализировано. И по каждому пункту нужны цифры. Веб отрасль достаточно старая сегодня чтобы выработать best-practices. И 99.9% этих практик лежат не в плоскости строкового билдера. Вот я нигде. Ни на одном проекте не видел чтобы ботл-неком были сборки строк. Практически везде были совсем другие поинты. Ты пришел в топик с доказательством того что твоё улучшение значимо? И оказывает эффект? Нет. Ты просто нашёл забавную возможность сцеплять строки в БД. Но к реальной оптимизации это не имеет никакого отношения. Смотри свои цифры. Меряй. Приводи скриншоты временных диаграм браузера. Собирай кумулятивные цифры на back-end. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 13:36 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
PetroNotC Sharp это миф или сон но я - если можно ускорить любой фрагмент - буду стараться его ускорить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 13:39 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
mayton Нет смысла оптимизировать конкатенации строк когда у тебя - кривой nginx, который не настроен чтоб выполнять свои функции. - Не настроен и не используется Infinispan/EhCache. - плохо ведет себя клиент (использует 3g модем или браузер в телевизоре смарт-тв) по такой логике ответственный за nginx скажет - зачем мне что-то настраивать когда ко мне приходят не оптимизированные данные? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 13:46 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
вадя mayton Нет смысла оптимизировать конкатенации строк когда у тебя - кривой nginx, который не настроен чтоб выполнять свои функции. - Не настроен и не используется Infinispan/EhCache. - плохо ведет себя клиент (использует 3g модем или браузер в телевизоре смарт-тв) по такой логике ответственный за nginx скажет - зачем мне что-то настраивать когда ко мне приходят не оптимизированные данные? Я тебе привел список поинтов на что обратить внимание когда пользователь долго ждет. Это - архитектурные поинты. И они обеспечат тебе 80% эффекта. Я так думаю. Ты конечно можешь упасть в свою тяжелую... похожую на прокрастинацию, идею о том что надо срочно искать StringBuilder или билдить строки в БД но я готов спорить на бутылку Виски что твоё направление поисков - неэффективно. И ты зря тратишь время и деньги заказчика. И другой разработчик на твоем проекте. Если послушает моих советов - быстро пофиксит этот NFR и все будут счастливы. А ты будешь - посрамлён. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 13:53 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
mayton, т.е. по твоей логике - пусть всё тормозит? если есть что фиксить - значит есть что-то не правильно сделанное. не лучше ли сделать так чтоб не надо было фиксить? и опять таки - я готов сравнивать , но что сравнивать? создаётся впечатление, что те кто что-то могут предложить для сравнения - заранее знают , что их вариант проиграет, и поэтому ничего не показывают. ты в других ветках выкладывал задачки для тренировки ума - я предложил подобное, и все куда-то смылись. вот mad_nazgul 22115999 предложил вариант. а где остальные ? mayton Я считаю что тема топика - не троллить и поносить Вадю. А разъяснить. на данный момент, я думаю, не у кого не осталось вопроса о том что я хочу получить? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 14:07 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
PetroNotC Sharp hVostt, Не делают ГУИ на java. Уже давно. интеллиджей идея да? ) всякие ваадины да? ) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 14:25 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
andreykaT, Ну это минимальный процент. Одиночные работы. Типа админка или еще чего. На JSP тоже делают. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 14:45 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
вадя mayton Я считаю что тема топика - не троллить и поносить Вадю. А разъяснить. на данный момент, я думаю, не у кого не осталось вопроса о том что я хочу получить? Реальный пример - это диагностика проблемы в твоём приложении. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 15:31 |
|
проклятый докер и мавен
|
|||
---|---|---|---|
#18+
mayton Реальный пример - это диагностика проблемы в твоём приложении. просто некоторые удивились такому использованию и начали хаять но в замен ничего (кроме варианта с js и котлин) привести не могут. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 15:47 |
|
|
start [/forum/topic.php?fid=59&msg=39947472&tid=2120830]: |
0ms |
get settings: |
19ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
38ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
409ms |
get tp. blocked users: |
0ms |
others: | 312ms |
total: | 789ms |
0 / 0 |