Oracle випустила Java 17: наскільки вона швидша за попередні версії

Компанія Oracle представила новітню версію мови програмування і платформи для розробки Java 17. До нової версії потрапило понад 2700 закритих завдань і 14 JEP’ів (JDK Enhancement Proposal), які ведуть до подальших поліпшень Java і допомагають підвищити продуктивність праці розробників.

Як наголошується, Java 17 відрізняється новим рівнем продуктивності й стабільності, а також супроводжується безліччю безпекових оновлень.

Завантажити оновлену Java можна тут:

Відомо, що Java 17 являє собою новітній реліз із категорії LTS (long-term support), який виходить у рамках стандартного шестимісячного циклу релізів Java і є результатом тісної співпраці інженерів Oracle та інших учасників спільноти Java на базі OpenJDK Community і Java Community Process (JCP).

Попередня версія JDK 11 LTS була випущена 3 роки тому, і за цей час система була поліпшена за рахунок 70 JEP від ​​членів спільноти.

Oracle JDK 17 і майбутні релізи JDK потрапляють під дію повністю безкоштовної ліцензії, яка буде діяти аж до 2022 року після виходу наступного релізу LTS. Oracle також продовжить випускати Oracle OpenJDK під дією відкритої ліцензії General Public License (GPL), на тих самих умовах, які були затверджені в 2017 році.

Oracle змінює частоту виходу LTS

Зазначено, що Oracle співпрацює зі спільнотою розробників Java і JCP у роботі над графіком виходу релізів LTS, щоб запропонувати організаціям більше гнучкості в переході на нові версії Java LTS. Таким чином, Oracle має намір випустити новий реліз LTS Java 21 у вересні 2023 року, змінюючи частоту виходу LTS із трьох до двох років.

При цьому користувачі з підписками Oracle LTS і Java SE можуть мігрувати на Java 17 у найбільш комфортному для них режимі. Oracle обіцяє продовжити надавати замовникам оновлення безпеки, гарантувати продуктивність і надсилати виправлення для Java 17 аж до вересня 2029 року.

«За останні три роки ми дізналися, наскільки сильно розробники цінують нові функції, а також переконалися в тому, що екосистема повністю прийняла шестимісячний режим випуску релізів», — заявив віце-президент по розробці Java Platform Group, Oracle Джорджес Сааб.

За його словами, одним із найбільших викликів для розробників Java сьогодні є обмеження на використання тільки релізу LTS.

«Тому перехід на випуск LTS версій один раз на 2 роки дозволить розробникам із консервативних організацій отримати більше гнучкості і працювати з тими функціями, які вони хочуть використовувати», — вважає він.

Порівняння швидкості роботи JDK 17, JDK 16 і JDK 11

Тим часом розробник і творець планувальника OptaPlanner Джеффрі Де Смет дізнався, наскільки зміни в новій Java торкнулися її продуктивності, порівнявши між собою показники JDK 17, JDK 16 і JDK 11.

Як зазначається, щоб отримати приріст продуктивності, досить просто змінити установку JDK. Автор проводив дослідження методом еталонного тестування на пристрої з такими характеристиками:

  • Intel® Xeon® Silver 4116 @ 2.1 ГГц;
  • 128 ГБ RAM, що працює під управлінням RHEL 8×86_64.

JDK, яке використовувалося як для компіляції, так і для запуску:

JDK 11

JDK 16

JDK 17

Параметри JVM: -Xmx3840M зі складальником сміття:

-XX: + UseG1GC — для G1GC, збирача сміття з низькою затримкою (за замовчуванням у всіх трьох JDK);
-XX: + UseParallelGC — для ParallelGC, збирача сміття з високою пропускною здатністю.

Загальні дані

Main class:
org.optaplanner.examples.app.GeneralOptaPlannerBenchmarkApp з модуля optaplanner-examples у планувальнику OptaPlanner 8.10.0.Final.

За допомогою OptaPlanner під час кожного запуску вирішується 11 завдань планування, таких як: ротація кадрів, складання шкільного розкладу і оптимізація хмарних обчислень. Кожне завдання планування виконується протягом п’яти хвилин. Ведення журналу встановлено на INFO. Еталон починається з 30-секундного розігріву JVM.

Зазначено, що вирішення завдання планування не вимагає жодних операцій введення-виведення (за винятком кількох мілісекунд при запуску для завантаження вхідних даних). Один процесор повністю завантажений. Він постійно створює безліч об’єктів із коротким життєвим циклом, а GC потім їх збирає.

При цьому контрольні показники вимірюють кількість підрахованих балів у секунду. Вище — краще. Підрахунок балів для пропонованого рішення з планування нетривіальний. Він включає в себе безліч обчислень, у тому числі перевірку на наявність конфліктів між кожним об’єктом і кожним іншим об’єктом.

Після запуску кожен JDK і кожна комбінація збирача сміття запускають послідовно по три рази. Наведені нижче результати є середнім значенням трьох прогонів.

Обчислення

Відносна оцінка G1GC.

У таблицю нижче зведені дані щодо кількості підрахунків балів у секунду з G1GC на різних JDK.

Відносна оцінка ParallelGC (чим вище, тим краще).

У таблицю нижче зведені дані щодо кількості підрахунків балів у секунду з ParallelGC на різних JDK.

Порівняння G1GC і ParallelGC на Java 17

Відносна оцінка JDK 17.

У таблицю нижче зведені дані щодо кількості підрахунків балів у секунду на JDK 17 із різними збирачами сміття.

Які вийшли результати

Середні значення при використанні OptaPlanner показали, що:

  • Java 17 на 8,66% швидша, ніж Java 11 і на 2,41% швидша, ніж Java 16 для G1GC;
  • Java 17 на 6,54% швидша, ніж Java 11 і на 0,37% швидша, ніж Java 16 для ParallelGC;
  • Parallel Garbage Collector на 16,39% швидша, ніж G1 Garbage Collector.

Загалом, як вважає Джеффрі Де Смет, дослідження не показало нічого дивного: остання версія JDK швидша, а збирач сміття з високою пропускною здатністю швидше збирача сміття з низькою затримкою.

Як відомо, Java — одна з найбільш успішних платформ для розробки. Щоб прискорити поширення Java в хмарному середовищі Oracle нещодавно представила Oracle Java Management Service, новий нативний сервіс Oracle Cloud Infrastructure (OCI), який допомагає компаніям керувати середовищами Java Runtime і застосунками, як у фізичних середовищах, так і в хмарах. При цьому Java Management Service допомагає контролювати роботу всіх розгорнутих оточень Java, стежити за оновленнями і установкою патчів безпеки.


Читайте також: як тестувати Java-додатки, що використовують Mongo, чи треба Java-розробнику вивчати Kotlin, а також дивіться, що можуть питати на технічній співбесіді з Java.

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному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

Джеймс Гослинг продал Sun в правильные руки.

Гослінг продав Сан?)) Гугл він не продав часом?)

Джеймс Гослинг продал Sun в правильные руки.

-это было фигурально сказано.
разумеется, решение о продаже Sun было коллегиальным и принималось на уровне менеджмента.
Но было видно, кмк, что покупатели интересуются Джавой, а не прочим гамузом Sun.
И мнение команды создателей Джавы тут сыграло не последнюю роль, вероятно.

Есть шанс, что wizzardo-http вырвется в лидеры с новой джавой? ( www.techempower.com/...​-r20&hw=ph&test=plaintext ) :)

може і війде, але то не дуже джава ;) все що із «джава ворлд» на вершинах чарту біжить на epoll

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