quality and performance kotlin 1 4 in intellij ides anton
play

Quality and Performance Kotlin 1.4 in IntelliJ IDEs Anton - PowerPoint PPT Presentation

Kotlin 1.4 Online Event Quality and Performance Kotlin 1.4 in IntelliJ IDEs Anton Yalyshev @anton_yalyshev October 12, 2020 Activities and events Indexing 28% 5% Overall lost time Build 16% VCS events 3% VFS refresh 4% Project


  1. Kotlin 1.4 Online Event Quality and Performance – Kotlin 1.4 in IntelliJ IDEs Anton Yalyshev @anton_yalyshev October 12, 2020

  2. Activities and events Indexing 28% 5% Overall lost time Build 16% VCS events 3% VFS refresh 4% Project import 18% 95% Active session UI lags 31%

  3. Activities and events Indexing 28% Build 16% 31% UI lags 28% Indexing VCS events 3% 16% Build VFS refresh 4% 3% VCS events Project import 18% 18% Project import 4% VFS refresh UI lags 31%

  4. The most important devX components Smooth typing ● IDE responsiveness ● Code completion ● Code highlighting ● Navigation and Find Usages ● Indexing ●

  5. 1.3.60 IDE Performance: Smooth typing ● IDE responsiveness ● Code completion ● Code highlighting ● Navigation and ● Find Usages Indexing ●

  6. 1.3.60 Fast completion IDE Performance: Percents of Users who have such Average Completion Time Smooth typing ● 58.4% 60% IDE responsiveness ● 34.0% 40% Code completion ● Code highlighting ● 20% 5.7% 1.8% Navigation and ● 0% Find Usages 0200 ms 200500 ms 5001000 ms 1000 ms Indexing ● 1.3.60

  7. 1.3.60 1.3.70 Fast completion Faster Completion IDE Performance: Percents of Users who have such Average Completion Time Smooth typing ● 70.3% 80% IDE responsiveness ● 58.4% 60% Code completion ● 34.0% 40% 25.1% Code highlighting ● 20% 5.7% 3.2% 1.8% 1.3% Navigation and ● 0% Find Usages 0200 ms 200500 ms 5001000 ms 1000 ms Indexing ● 1.3.60 1.3.70

  8. Perception of response times 100200 ms: instant ● 5001000 ms: immediate ● 25 sec: keeps attention ● 710 sec: keeps context ●

  9. 1.3.60 1.3.70 Fast completion Faster completion inc. caches IDE Performance: Smooth typing ● IDE responsiveness ● Code completion ● Code highlighting ● Navigation and ● Find Usages Indexing ●

  10. 1.3.60 1.3.70 Fast completion Faster completion inc. caches J/K interop IDE Performance: Smooth typing ● .kt IDE responsiveness ● Code completion ● Code highlighting ● Navigation and ● Find Usages .java Indexing ●

  11. Average completion times experienced by users in .gradle.kts 50% 40% 30% 20% 10% 0% 0500 ms 5001000 ms 10001500 ms 1500 ms 1.3.60 1.3.70

  12. 1.3.60 1.3.70 IJ 2020.1 Fast completion Faster completion Highlighting inc. caches algorithm J/K interop IDE Performance: First-time file highlighting times in a large project Smooth typing ● 74.3% 80% Responsiveness ● 59.5% 60% Code completion ● 40% 29.6% 20.3% Code highlighting ● 20% 7.3% 3.9% 3.3% 1.4% Navigation and ● 0% Find Usages 01 sec 15 sec 510 sec 10 sec Indexing ● Previous Current Test Framework: github.com/JetBrains/kotlin/tree/master/idea/performanceTests

  13. 1.3.60 1.3.70 IJ 2020.1 IJ 2020.2 Fast completion Faster completion Highlighting inc. caches algorithm J/K interop IDE Performance: 31% UI lags 28% Indexing Smooth typing ● Responsiveness ● 16% Build Code completion ● 18% Project import Code highlighting ● 3% VCS events Navigation and ● Find Usages Indexing ● 4% VFS refresh

  14. 1.3.60 1.3.70 IJ 2020.1 IJ 2020.2 Fast completion Faster completion Highlighting Shared Indexes inc. caches algorithm J/K interop IDE Performance: Smooth typing ● Responsiveness ● Code completion ● Code highlighting ● Navigation and ● Find Usages Indexing ● How to: jetbrains.com/help/idea/shared-indexes.html

  15. 1.3.60 1.3.70 IJ 2020.1 IJ 2020.2 1.4 Fast completion Faster completion Highlighting Shared Indexes Fixed lots of: inc. caches algorithm Freezes J/K interop Deadlocks Memory/CPU cons. IDE Performance: Smooth typing ● Responsiveness ● Code completion ● Code highlighting ● Navigation and ● Find Usages Indexing ●

  16. 1.3.60 1.3.70 IJ 2020.1 IJ 2020.2 1.4 Fast completion Faster completion Highlighting Shared Indexes Fixed lots of: inc. caches algorithm Freezes J/K interop Deadlocks Memory/CPU cons. IDE Performance: 1. Issue tracker: kotl.in/issue Smooth typing 2. Attach diagnostic info: jb.gg/ij-perf-reporting ● Responsiveness 3. Tell us what you were doing at the time ● Code completion ● Code highlighting ● Navigation and ● Find Usages Indexing ●

  17. Quality Reducing plugin exceptions 1.52 times with each release ● Stability of the Debugger, Formatter, Move Refactoring and more ● Debugger for coroutines ●

  18. New Project Wizard

  19. Light editing

  20. IntelliJ LightEdit mode

  21. What’s next? Continue investing in the speed of: ● Code completion and highlighting ○ Navigation and Find Usages ○ IDE stability and quality of features ● Cross-language inline and change signature refactorings ● in Java/Kotlin mixed projects Integration with the new Compiler Frontend ● Our roadmap: https://kotl.in/roadmap

  22. One important announcement

  23. IntelliJ IDEA and Kotlin are getting closer Kotlin repository IJ plugin IntelliJ platform repository

  24. IntelliJ and Kotlin are getting closer Better tooling parity ● Single release cycle for Kotlin plugin and IntelliJ IDEA ● More opportunities for contribution ● Amplifies IntelliJ Kotlin plugin development ●

  25. Thanks! Have a nice Kotlin @anton_yalyshev

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend