Java эффективная: сильно истощена, но жить будет

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Сначала бизнес-кейс с траблшутингом по перфомансу: бабке подарили козу. Некоторое время бабка козу успешно доила, но через время производительность стала падать. Бабка повела козу к ветеринару, тот глянул и говори «Козел у тебя, бабушка, сильно замучен, но жить будет».
И к теме: что по Вашему мнению является более важным для Java-разработчика, который хочет писать код? Какой код нужен на продакшене: эффективный или достаточно эффективный?
Некоторые советчики в интернетах предлагают штудировать внутреннее устройство Java-машины, поскольку там зарыта вся производительность приложения. К ним же можно отнести авторов тестов, которые очень любят вставлять в вопросы задачки для решения которого нужно знать все трещинки и выемки Java-машины. Раньше кодеры для написания более эффективного приложения изучали устройство реальной машины, теперь же это немодно. Давайте изучим машину виртуальную: сколько пива выпили разработчики и за какое время? за какое слово в спецификации подрались представитель Oracle и IBM? Конечно же это обязательно нужно учесть в коде, чтобы потом читающий код тоже повспоминал историю.
Верно ли говорят некоторые мудрецы, что Java была создана прежде всего для написания легкого в отладке и доступного для понимания кода или же нужно любой ценой сделать быстрее, например с учетом особенностей реализации конкретной машины и не создает ли это проблемы с инкапсуляцией, когда программа сильно зависит от нюансов этой машины
ну и в итоге: кормить козлика гормонами или поменять на козу?

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

А какие задачи вы решаете на проекте, что для вас очень важна эффективность ?

коли вже перед реєстрацією на ДОУ будуть брати аналізи на наявність тяжких речовин в організмі?
ніколи не розумів, нафіга отак

бабке подарили козу. Некоторое время бабка козу успешно доила, но через время производительность стала падать. Бабка повела козу к ветеринару, тот глянул и говори «Козел у тебя, бабушка, сильно замучен, но жить будет».
писати?

Степень владения внутренностями может весьма широко отличаться.
Поверхностное ознакомление с размерами данных, принципом работы класлоадера, генерациями куч, типами гербедж коллекторов — полезно для юнцов для общего развития.
На практике углубленные познания таки пригождаются, но очень редко.
А нутря нутрей, вроде байткода, жмм и черти чего еще — никто не знает, и оно никому и не надо.
По поводу эфективного кода вообще — то тут борьба нескольких бобров друг с другом. Быстрота исполнения, быстрота понимания, без бажность, расширяемость, и даже быстрота написания.
Оч тяжело быстро написать быстрый, простой, безбажный и расширяемый код — как правило борьба идет за компромис в каждом конкретном случае.

никто не знает, и оно никому и не надо.

Однако, никогда не говори однако. :)
Стоит заметить тут «никто» на «мало кто» ;)

«Только ассемблер, только хардкор».

Пиши на С++, кто тебе запрещал?
#include «блэк-джек»
#include «шлюхи»
#include «серенький козлик»

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

Коментар порушує правила спільноти і видалений модераторами.

Ну что за пост. Вы диплом недавно писали? Воды-то...
В чем именно вопрос?
Какой код нужен на продакшене: эффективный или достаточно эффективный?
Видите ли, этот вопрос не имеет смысла, т.к. эффективный — это оптимальный для некоторых заранее заданных условий. Достаточно эффективный — это тоже удвлетворяющий некоторым условиям оптимальности.
эффективный == достаточно эффективный

Даже если вы имеете ввиду скрость работы программы, ситуация не сильно меняется. Чем больше вы потратите времени на оптимизацию программы, тем быстрее она будет. Тут все уперается в экономическую целесообразность. Если заказчика не устраивает скорость прогрммы, тогда он оплачивает еще неделю, (месац, год) работ по ее ускорению.

ну и в итоге: кормить козлика гормонами или поменять на козу?
В итоге лучше прекратить принимать всякие непонятные вещества, хорошенько выспаться и потом задать четкий вопрос (формальное условие должен поместиться в 140 символов).
.
Учитывая стиль написания темы, не уверен что угадал вопрос, но если вопрос:
Когда стоит применять микрооптимизации?
То их стоит применять тогда когда все другие способы исчерпаны.
тогда когда все другие способы исчерпаны
поумничаю и уточню: включая, архитектурные и алгоритмические.
а то, бывает, люди кидаются сравнивать скорость работы разных вариантов модификаций строк, при том, что у них в БД ключи не используются :(

Підписатись на коментарі