Вы замечали улучшение (или ухудшение) производительности при переходе на последнии версии?
Если да, то в чём это выражалось и какие причины (если известно, конечно)?
Здравствуйте, Ватакуси, Вы писали: В>Вы замечали улучшение (или ухудшение) производительности при переходе на последнии версии? В>Если да, то в чём это выражалось и какие причины (если известно, конечно)?
Последний раз читал, что последняя версия GraalVM быстрее в некоторых примерах, чем на чистом си,
однако это не спасает, если кодить на clojure — лучший на мой взгляд на сегодня язык для прикладного программирования,
но если начинаешь подключать зависимости,то старт программы превращается в тихий ужас(25-30 сек на i5 SSD 8Гб ОЗУ)
Здравствуйте, Ватакуси, Вы писали:
В>Вы замечали улучшение (или ухудшение) производительности при переходе на последние версии? В>Если да, то в чём это выражалось и какие причины (если известно, конечно)?
Легко! Правда, сравнивать буду 7-ю и 8-ю. Тема-то одна и та же, по моему. И суть вопроса прояснится, думаю.
Пишу сейчас и уже давно, на 7-й версии. Много своего кода написано за последние 15 лет .
И вот пришлось беседовать с апологетом кода на 8-й (т.е. стримы, функциональное программирование). И писать код для собеседования.
Написал, работает код! Но работает не на стримах. Попенял мне тот дяденька. По доброму попенял, надо признать.
Я согласился, мол, пора и мне на стримы, особенно если по работе попросят.
Но чем-то задело за живое. Стал я сравнивать своё решение, на 7-й версии, и от дяденьки, на 8-й.
Прислал он мне своё решение моей задачки. Короче у него получилось, ничего не скажешь. Хотя и не совсем понятный код получился .
И сравнив, вдруг осознал. что код-то у него — в 2-3 раза медленнее исполняется!
И это понятно — в одном потоке одновременно несколько зависимых друг от друга действий, в одном стриме, ведь не сделаешь без извращений)))
Т.е стрим надо два раза запускать, скажем, а я, будучи ограничен средствами в 7-й версии, могу в одном цикле эту пару действий сделать.
Проверял много раз в разных вариантах — всё время в 2-4 раза медленнее стримы его работают.
А ведь в задачке той матрицы надо было сканировать, а их размер очень разный, и гигабайты они могут весить.
Короче, сказал ему об этом. А он обиделся. И на работу не взял .
Но это и не плохо. Тут как раз другая работа нашлась, существенно интереснее. Делай всё сам, язык выбирай, версию...
Здравствуйте, Географ, Вы писали:
В>>Вы замечали улучшение (или ухудшение) производительности при переходе на последние версии? В>>Если да, то в чём это выражалось и какие причины (если известно, конечно)?
Г>Легко! Правда, сравнивать буду 7-ю и 8-ю. Г>И мне даже 8-я опять не нужна, не то что 11-12
Мне кажется, что вопрос был про версию jvm, а не языка.
Здравствуйте, Географ, Вы писали:
Г>И это понятно — в одном потоке одновременно несколько зависимых друг от друга действий, в одном стриме, ведь не сделаешь без извращений))) Г>Т.е стрим надо два раза запускать, скажем, а я, будучи ограничен средствами в 7-й версии, могу в одном цикле эту пару действий сделать.
Что именно нельзя сделать в одном стриме без извращений? Можно пример какой-нибудь?
Там же всё просто комбинируется. Стрим даёт просто перечисление, фильтрацию, группировку элементов и т.д. А все предикаты для фильтров можно задать свои и какой угодно сложности — хоть лямбдой, хоть отдельной функцией, как удобнее.
Здравствуйте, Ватакуси, Вы писали:
В>Вы замечали улучшение (или ухудшение) производительности при переходе на последнии версии? В>Если да, то в чём это выражалось и какие причины (если известно, конечно)?
По перфомансу разве что сборщики мусора стали лучше работать. А так переходить имеет смысл — хотя бы из-за лучшей поддержки контейнеров ал-я docker.
Здравствуйте, Artem Korneev, Вы писали:
AK>Здравствуйте, Географ, Вы писали:
Г>>И это понятно — в одном потоке одновременно несколько зависимых друг от друга действий, в одном стриме, ведь не сделаешь без извращений))) Г>>Т.е стрим надо два раза запускать, скажем, а я, будучи ограничен средствами в 7-й версии, могу в одном цикле эту пару действий сделать.
AK>Что именно нельзя сделать в одном стриме без извращений? Можно пример какой-нибудь? AK>Там же всё просто комбинируется. Стрим даёт просто перечисление, фильтрацию, группировку элементов и т.д. А все предикаты для фильтров можно задать свои и какой угодно сложности — хоть лямбдой, хоть отдельной функцией, как удобнее.
Скорее всего так и есть, как Вы написали. Можно и на стримах достигать той же скорости. В тот момент речь шла только о новом стиле. Стиль, действительно, другой. Мне лично, пока, малопонятный. Но это дело вкуса и желаний.
Здравствуйте, StanislavK, Вы писали:
SK>Здравствуйте, Географ, Вы писали:
В>>>Вы замечали улучшение (или ухудшение) производительности при переходе на последние версии? В>>>Если да, то в чём это выражалось и какие причины (если известно, конечно)?
Г>>Легко! Правда, сравнивать буду 7-ю и 8-ю. Г>>И мне даже 8-я опять не нужна, не то что 11-12
SK>Мне кажется, что вопрос был про версию jvm, а не языка.
Если сравнивать один и тот же код под разные версии JVM то — да. Разницы существенной быть не должно.
Здравствуйте, Географ, Вы писали:
Г>Здравствуйте, Ватакуси, Вы писали:
В>>Вы замечали улучшение (или ухудшение) производительности при переходе на последние версии? В>>Если да, то в чём это выражалось и какие причины (если известно, конечно)?
Г>Легко! Правда, сравнивать буду 7-ю и 8-ю. Тема-то одна и та же, по моему. И суть вопроса прояснится, думаю. Г>Пишу сейчас и уже давно, на 7-й версии. Много своего кода написано за последние 15 лет . Г>И вот пришлось беседовать с апологетом кода на 8-й (т.е. стримы, функциональное программирование). И писать код для собеседования.
А что за задачка была, если не секрет?
Здравствуйте, Географ, Вы писали:
Г>Пишу сейчас и уже давно, на 7-й версии. Много своего кода написано за последние 15 лет .
Какая некрофилия, жесть!
8 уже не поддерживается, а ты до сих пор на бивнях мамонта 7 версии сидишь.
Не использовать новые версии и их фишки это путь к деградации и безработице.
Здравствуйте, Annatomy, Вы писали:
Г>>Пишу сейчас и уже давно, на 7-й версии. Много своего кода написано за последние 15 лет .
A>Какая некрофилия, жесть! A>8 уже не поддерживается, а ты до сих пор на бивнях мамонта 7 версии сидишь. A>Не использовать новые версии и их фишки это путь к деградации и безработице.
Это точно, фичи 8 джавы — лямбды, стримы — можно сказать новую жизнь в язык вдохнули. Без них уже трудно представить разработку. Есть джависты, которые бросали текущую и специально искали работу, чтобы именно на восьмерке попрогать.