SlideShare a Scribd company logo
Заголовок презентации
Имя и фамилия автора доклада
Компания
Контактные данные 1
Контактные данные 2
Контактные данные 3
Контактные данные 4
Effectiveness and code
optimization in Java
applications
Sergey Morenets
sergey.morenets@gmail.com
About author
• Works in IT since 2000
• 12 year of Java SE/EE experience
• Regular speaker at Java conferences
• Author of “Development of Java
applications” and “Main errors in Java
programming ”books
• Founder of http://it-simulator.com
Preface
Agenda
Agenda
• What is effectiveness?
• Code optimization
• JVM optimization
• Code samples
• Measurements
Ideal code
Concise Readable
Self-describing Reusable
Testable Modern
Flexible Scalable
Effective
Effectiveness
• Hard to determine on code/design review
stages or in unit-tests
• Is relevant for the specific project
configuration/environment
• Premature optimization is evil
• Hardware-specific
• The only aspect of the code that affects
users
Effectiveness
Premature optimization
Premature optimization
Premature optimization
Premature optimization
Premature optimization
Premature optimization
Effectiveness
CPU
utilization
Memory
utilization
Network I/O
utilization
Disk I/O
utilization
Effectiveness
• Can be measured
• Can be static or dynamic
• Can be tuned
Tuning
• JVM options
• Metaspace/heap/stack size
• Garbage collector options
• http://blog.sokolenko.me/2014/11/javavm-
options-production.html
• http://www.javaspecialists.eu/
Code optimization
Java compiler
JIT compiler
JVM
Code optimization
Code optimization
public int execute();
Code:
0: iconst_2
1: istore_1
2: iinc 1, 1
5: iconst_1
6: ireturn
Code optimization
Code optimization
public int execute();
Code:
0: iconst_2
1: istore_1
2: iconst_1
3: ireturn
Code optimization
Code optimization
public void execute();
Code:
0: return
Code optimization
Code optimization
public static boolean get();
Code:
0: iconst_1
1: ireturn
Code optimization
Code optimization
public void execute();
Code:
0: return
Code optimization
Code optimization
public int execute();
Code:
0: iconst_2
1: istore_1
2: iconst_4
3: istore_2
4: iload_1
5: iload_2
6: iadd
7: ireturn
Code optimization
Code optimization
public int execute();
Code:
0: bipush 6
2: ireturn
Code optimization
Code optimization
public int execute();
Code:
0: bipush 12
2: ireturn
Javacompiler Dead code elimination
Constant folding
Fixed expression
calculation
Measurements
• JMH is micro benchmarking framework
• Developed by Oracle engineers in 2013
• Requires build tool(Maven, Gradle)
• Can measure throughput or average
time
• Includes warm-up period
Warm-up
Environment
• JMH 1.11.3
• Maven 3.3.9
• JDK 1.8.0.73
• Intel Core i7 4790, 4 cores, 16 GB
Measurements
Type Time(ns)
Multiply 4 2,025
Shift 2,024
Measurements
Type Time(ns)
Multiply 17 2,04
Shift 2,04
"Эффективность и оптимизация кода в Java 8" Сергей Моренец
Method vs Field
Measurements
Type Time(ns)
Field 1,945
Method 1,933
Inversion
Inversion
Measurements
Type Time(ns)
! 1,99
? 1,99
^ 2,01
Arrays
Measurements
Type Time(ns)
For (10 elements) 4,9
For-each (10 elements) 5,1
For (1000 elements) 260
For-each (1000 elements) 259,9
For (50000 elements) 12957
For-each (50000 elements) 12958
Arrays
Measurements
Type Time(ns)
For (10 elements) 5,04
For optimized(10 elements) 5,07
For (1000 elements) 258,9
For-each (1000 elements) 258,7
Arrays
Measurements
Type Time(ns)
Sequential (10 elements) 5
Parallel (10 elements) 6230
Sequential (1000 elements) 263
Parallel (1000 elements) 8688
Sequential (50000 elements) 13115
Parallel (50000 elements) 34695
Measurements
Type Time(ns)
Sequential (10 elements) 5
Parallel (10 elements) 6230
Sequential (1000 elements) 263
Parallel (1000 elements) 8688
Sequential (50000 elements) 13115
Parallel (50000 elements) 34695
Sequential (5 000 000 elements) 1 765 206
Parallel (5 000 000 elements) 2 668 564
Sequential (500 000 000) 183 ms
Parallel (500 000 000) 174 ms
Autoboxing
Measurements
Type Time(ns)
Array(100 elements) 58
List(100 elements) 390
Array(10 000 elements) 4776
List(10 000 elements) 48449
LIFO
LIFO
Stack
LinkedList
ArrayDeque
Stack
Java NIO
Measurements
100 elements Array Heap buffer Direct buffer
Create 13,87 18,9 502,5
Get 2,24 3,18 2,65
Update 2,26 3,21 2,93
Update all 29,5 33,2 36,6
Measurements
10000 elements Array Heap buffer Direct buffer
Create 544 548 1543
Get 2,25 3,26 2,77
Update 2,38 3,19 2,94
Update all 2701 2720 5022
Collections
Collections
Type Time(ns)
Fill HashMap(1000 elements) 16000
Fill TreeMap(1000 elements) 40115
Fill HashMap(100 000 elements) 2 027 116
Fill TreeMap(100 000 elements) 11 195 422
Iteration HashMap(1000 elements) 3086
Iteration TreeMap(1000 elements) 5038
Reflection
Measurements
Type Time(ns)
New object 3,0
Reflection 5,4
Reflection
Measurements
Type Time(ns)
Method call 0,3
Reflection 232
Measurements
Type Time(ns)
Method call 0,3
Reflection (cached) 3,1
"Эффективность и оптимизация кода в Java 8" Сергей Моренец
Lists
Measurements
Type Time(ns)
ArrayList (1000 elements) 4766
ArrayList (100 000 elements) 381707
LinkedList (1000 elements) 5504
LinkedList (100 000 elements) 504231
Lists
Measurements
Type Time(ns)
ArrayList (1000 elements) 26767
ArrayList (100 000 elements) 276(ms)
LinkedList (1000 elements) 300971
LinkedList (100 000 elements) 3424(ms)
Lists
Measurements
Type Time(ns)
ArrayList (1000 elements) 774
ArrayList (100 000 elements) 144814
LinkedList (1000 elements) 2161
LinkedList (100 000 elements) 292364
Comparison
Operations ArrayList LinkedList
Add
Delete
Get
Iterate
Speed
Memory
footprint
Big data
structures
I/O
support
Measurements
Type (elements) Time(ns)
ArrayList (1000) 4732
ArrayList (100 000) 387692
LinkedList (1000) 5775
LinkedList (100 000) 511646
ObjectArrayList(1000) 3168
ObjectArrayList(100 000) 322811
Synchronization. Java 1.0
Measurements
Type(1 thread) Time(ns)
Not synchronized 2,0
Synchronized method 18,3
Synchronized block 18,3
Synchronization. Java 5
Synchronization. Java 5
Synchronization. Java 8
Measurements
Type (1 thread) Time(ns)
ReentrantLock 18,7
ReadWriteLock 19,0
StampedLock 18,6
Synchronization
Measurements
Type (16 threads) Time(ns)
ReentrantLock 54,2
ReadWriteLock 56,4
StampedLock 52,5
AtomicLong 8,8
Java 7
Java 8
Java 8
Measurements
Type Time(ns)
Anonymous class 2,03
Lambda expression 2,37
Method reference 2,38
Java 7
Java 8
Measurements
Type(# elements) Time(ns)
For-loop(10) 5,0
Stream(10) 35,2
For-loop(1000) 264
Stream(1000) 1970
For-loop(50 000) 13244
Stream(50 000) 95689
Parallel streams
Measurements
Type(# elements) Time(ns)
Sum sequential(100) 6
Sum parallel(100) 51
Sleep sequential(100) 101 106 306
Sleep parallel(100) 13 575 733
Sum sequential(10000) 19517
Sum parallel(10000) 15657
Sleep sequential(10000) 10 068 771 891
Sleep parallel(10000) 1 250 911 296
Default methods
Measurements
Type Time(ns)
Class 2,13
Interface 2,39
JIT optimization
• Inline methods
• Eliminate locks
• Replace interface with direct method calls
• Join synchronized blocks
• Eliminate dead code
• Drop memory write for non-volatile
variables
Conclusion
• Compiler and JIT optimization
• Speed and memory optimization
• Prefer ArrayList/HashMap
• Synchronization and reflection cost
• Use measurement tools
Theory
Sergey Morenets, sergey.morenets@gmail.com

More Related Content

What's hot (11)

PDF
AWS RDS Benchmark - CMG Brasil 2012
Rodrigo Campos
 
PPTX
Thermal modeling and management of cluster storage systems xunfei jiang 2014
Xiao Qin
 
PPTX
Final Presentation IRT - Jingxuan Wei V1.2
JINGXUAN WEI
 
PPTX
QTP ONLINE TRAINING
Santhosh Sap
 
PPTX
Neural network learning ability
Nabeel Aron
 
PDF
[241]large scale search with polysemous codes
NAVER D2
 
PDF
Representing and Querying Geospatial Information in the Semantic Web
Kostis Kyzirakos
 
PPTX
Scaling out logistic regression with Spark
Barak Gitsis
 
PDF
Quantifying Energy Consumption for Practical Fork-Join Parallelism on an Embe...
Tulipp. Eu
 
PPTX
Get Competitive with Driverless AI
Sri Ambati
 
PPTX
Hanjun Dai, PhD Student, School of Computational Science and Engineering, Geo...
MLconf
 
AWS RDS Benchmark - CMG Brasil 2012
Rodrigo Campos
 
Thermal modeling and management of cluster storage systems xunfei jiang 2014
Xiao Qin
 
Final Presentation IRT - Jingxuan Wei V1.2
JINGXUAN WEI
 
QTP ONLINE TRAINING
Santhosh Sap
 
Neural network learning ability
Nabeel Aron
 
[241]large scale search with polysemous codes
NAVER D2
 
Representing and Querying Geospatial Information in the Semantic Web
Kostis Kyzirakos
 
Scaling out logistic regression with Spark
Barak Gitsis
 
Quantifying Energy Consumption for Practical Fork-Join Parallelism on an Embe...
Tulipp. Eu
 
Get Competitive with Driverless AI
Sri Ambati
 
Hanjun Dai, PhD Student, School of Computational Science and Engineering, Geo...
MLconf
 

Viewers also liked (20)

PDF
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
Vladimir Ivanov
 
PPTX
"Walk in a distributed systems park with Orleans" Евгений Бобров
Fwdays
 
PDF
Андрей Уманский и Дмитрий Горин "Нет скучным ретроспективам! Создаём эффектив...
Fwdays
 
PDF
Александр Корниенко "Как реально построить Dream-team?"
Fwdays
 
PDF
"The Grail: React based Isomorph apps framework" Эльдар Джафаров
Fwdays
 
PDF
"Backbone React Flux" Артем Тритяк
Fwdays
 
PDF
Алексей Демедецкий | Unit testing in swift
Fwdays
 
PDF
"Fun with JavaScript and sensors" by Jan Jongboom
Fwdays
 
PDF
Павел Тайкало: "Apple watch first steps"
Fwdays
 
PDF
Анна Лаврова "When Fairy Tale meets Reality: Точность-надежность-дизайн"
Fwdays
 
PDF
"Хероковая жизнь" Юрий Литвиненко
Fwdays
 
PDF
"Посмотрим на Акку-Джаву" Дмитрий Мантула
Fwdays
 
PDF
Максим Климишин "Борьба с асинхронностью в JS"
Fwdays
 
PPT
"От разработчика в консультанты - история одного тренера" Александр Баглай
Fwdays
 
PDF
Ruby w/o Rails (Олександр Сімонов)
Fwdays
 
PPTX
Маргарита Остапчук "Що нового в Windows 10 для розробників"
Fwdays
 
PPTX
Сергей Больщиков "Angular Components: все уже за, а вы еще нет?"
Fwdays
 
PPTX
Михаил Чалый "Serverless Architectures using .NET and Azure"
Fwdays
 
PDF
"Выучить язык программирования за 25 минут" Дмитрий Мантула
Fwdays
 
PDF
"From CRUD to Hypermedia APIs with Spring" Владимир Цукур
Fwdays
 
"JIT compiler overview" @ JEEConf 2013, Kiev, Ukraine
Vladimir Ivanov
 
"Walk in a distributed systems park with Orleans" Евгений Бобров
Fwdays
 
Андрей Уманский и Дмитрий Горин "Нет скучным ретроспективам! Создаём эффектив...
Fwdays
 
Александр Корниенко "Как реально построить Dream-team?"
Fwdays
 
"The Grail: React based Isomorph apps framework" Эльдар Джафаров
Fwdays
 
"Backbone React Flux" Артем Тритяк
Fwdays
 
Алексей Демедецкий | Unit testing in swift
Fwdays
 
"Fun with JavaScript and sensors" by Jan Jongboom
Fwdays
 
Павел Тайкало: "Apple watch first steps"
Fwdays
 
Анна Лаврова "When Fairy Tale meets Reality: Точность-надежность-дизайн"
Fwdays
 
"Хероковая жизнь" Юрий Литвиненко
Fwdays
 
"Посмотрим на Акку-Джаву" Дмитрий Мантула
Fwdays
 
Максим Климишин "Борьба с асинхронностью в JS"
Fwdays
 
"От разработчика в консультанты - история одного тренера" Александр Баглай
Fwdays
 
Ruby w/o Rails (Олександр Сімонов)
Fwdays
 
Маргарита Остапчук "Що нового в Windows 10 для розробників"
Fwdays
 
Сергей Больщиков "Angular Components: все уже за, а вы еще нет?"
Fwdays
 
Михаил Чалый "Serverless Architectures using .NET and Azure"
Fwdays
 
"Выучить язык программирования за 25 минут" Дмитрий Мантула
Fwdays
 
"From CRUD to Hypermedia APIs with Spring" Владимир Цукур
Fwdays
 
Ad

Similar to "Эффективность и оптимизация кода в Java 8" Сергей Моренец (20)

PPTX
Java/Scala Lab 2016. Сергей Моренец: Способы повышения эффективности в Java 8.
GeeksLab Odessa
 
PPTX
Effective Java applications
Strannik_2013
 
PDF
Apache con 2020 use cases and optimizations of iotdb
ZhangZhengming
 
PPTX
SSAS Reference Architecture
Marcel Franke
 
PDF
Databases Have Forgotten About Single Node Performance, A Wrongheaded Trade Off
Timescale
 
PDF
Analyzing and Interpreting AWR
pasalapudi
 
PDF
Predicting Optimal Parallelism for Data Analytics
Databricks
 
PDF
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
NETFest
 
PPTX
Mapping Data Flows Perf Tuning April 2021
Mark Kromer
 
PPTX
Performance Tuning and Optimization
MongoDB
 
PPTX
Amazon Athena Hands-On Workshop
DoiT International
 
PPTX
Azure Data Factory Data Flow Performance Tuning 101
Mark Kromer
 
PDF
Automated product categorization
Warply
 
PDF
Automated product categorization
Andreas Loupasakis
 
PDF
pdf-download-db-time-based-oracle-performance-tuning-theory-and.pdf
cookie1969
 
PPTX
Large scalecplex
optimizatiodirectdirect
 
PDF
Indexes overview
aioughydchapter
 
PPTX
When assertthat(you).understandUnitTesting() fails
Martin Skurla
 
PDF
functional groovy
Paul King
 
PPTX
AWS Forcecast: DeepAR Predictor Time-series
PolarSeven Pty Ltd
 
Java/Scala Lab 2016. Сергей Моренец: Способы повышения эффективности в Java 8.
GeeksLab Odessa
 
Effective Java applications
Strannik_2013
 
Apache con 2020 use cases and optimizations of iotdb
ZhangZhengming
 
SSAS Reference Architecture
Marcel Franke
 
Databases Have Forgotten About Single Node Performance, A Wrongheaded Trade Off
Timescale
 
Analyzing and Interpreting AWR
pasalapudi
 
Predicting Optimal Parallelism for Data Analytics
Databricks
 
.NET Fest 2019. Николай Балакин. Микрооптимизации в мире .NET
NETFest
 
Mapping Data Flows Perf Tuning April 2021
Mark Kromer
 
Performance Tuning and Optimization
MongoDB
 
Amazon Athena Hands-On Workshop
DoiT International
 
Azure Data Factory Data Flow Performance Tuning 101
Mark Kromer
 
Automated product categorization
Warply
 
Automated product categorization
Andreas Loupasakis
 
pdf-download-db-time-based-oracle-performance-tuning-theory-and.pdf
cookie1969
 
Large scalecplex
optimizatiodirectdirect
 
Indexes overview
aioughydchapter
 
When assertthat(you).understandUnitTesting() fails
Martin Skurla
 
functional groovy
Paul King
 
AWS Forcecast: DeepAR Predictor Time-series
PolarSeven Pty Ltd
 
Ad

More from Fwdays (20)

PDF
"Mastering UI Complexity: State Machines and Reactive Patterns at Grammarly",...
Fwdays
 
PDF
"Effect, Fiber & Schema: tactical and technical characteristics of Effect.ts"...
Fwdays
 
PPTX
"Computer Use Agents: From SFT to Classic RL", Maksym Shamrai
Fwdays
 
PPTX
"Як ми переписали Сільпо на Angular", Євген Русаков
Fwdays
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
"Validation and Observability of AI Agents", Oleksandr Denisyuk
Fwdays
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
"Co-Authoring with a Machine: What I Learned from Writing a Book on Generativ...
Fwdays
 
PPTX
"Human-AI Collaboration Models for Better Decisions, Faster Workflows, and Cr...
Fwdays
 
PDF
"AI is already here. What will happen to your team (and your role) tomorrow?"...
Fwdays
 
PPTX
"Is it worth investing in AI in 2025?", Alexander Sharko
Fwdays
 
PDF
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
PDF
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
 
PDF
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
PDF
"Scaling in space and time with Temporal", Andriy Lupa .pdf
Fwdays
 
PPTX
"Provisioning via DOT-Chain: from catering to drone marketplaces", Volodymyr ...
Fwdays
 
PPTX
" Observability with Elasticsearch: Best Practices for High-Load Platform", A...
Fwdays
 
PPTX
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
PPTX
"Istio Ambient Mesh in production: our way from Sidecar to Sidecar-less",Hlib...
Fwdays
 
"Mastering UI Complexity: State Machines and Reactive Patterns at Grammarly",...
Fwdays
 
"Effect, Fiber & Schema: tactical and technical characteristics of Effect.ts"...
Fwdays
 
"Computer Use Agents: From SFT to Classic RL", Maksym Shamrai
Fwdays
 
"Як ми переписали Сільпо на Angular", Євген Русаков
Fwdays
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
"Validation and Observability of AI Agents", Oleksandr Denisyuk
Fwdays
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
"Co-Authoring with a Machine: What I Learned from Writing a Book on Generativ...
Fwdays
 
"Human-AI Collaboration Models for Better Decisions, Faster Workflows, and Cr...
Fwdays
 
"AI is already here. What will happen to your team (and your role) tomorrow?"...
Fwdays
 
"Is it worth investing in AI in 2025?", Alexander Sharko
Fwdays
 
''Taming Explosive Growth: Building Resilience in a Hyper-Scaled Financial Pl...
Fwdays
 
"Scaling in space and time with Temporal", Andriy Lupa.pdf
Fwdays
 
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
"Scaling in space and time with Temporal", Andriy Lupa .pdf
Fwdays
 
"Provisioning via DOT-Chain: from catering to drone marketplaces", Volodymyr ...
Fwdays
 
" Observability with Elasticsearch: Best Practices for High-Load Platform", A...
Fwdays
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
"Istio Ambient Mesh in production: our way from Sidecar to Sidecar-less",Hlib...
Fwdays
 

Recently uploaded (20)

PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 

"Эффективность и оптимизация кода в Java 8" Сергей Моренец