Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Новый подход к компиляции Scala в IntelliJ IDEA
Search
Pavel Fatin
April 11, 2013
Programming
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Новый подход к компиляции Scala в IntelliJ IDEA
ScalaDev 2013,
http://scaladev.ru/
http://www.youtube.com/watch?v=eyxNisMAcAI
Pavel Fatin
April 11, 2013
More Decks by Pavel Fatin
See All by Pavel Fatin
Inside the IntelliJ Scala Plugin
pavelfatin
1
180
Design Patterns in Scala
pavelfatin
6
1.6k
Практичность Scala
pavelfatin
0
150
Scala Plugin для IntelliJ IDEA
pavelfatin
0
88
Scala plugin for IntelliJ IDEA
pavelfatin
0
170
Other Decks in Programming
See All in Programming
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
12
4.7k
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
210
[2026-10-09]一枚の布で作らなくてもいい。 信頼性は「パッチワーク」で紡がれる~既存の運用と新しい可能性をつなぎ合わせてきたCREの話~
tosite
0
110
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
170
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
900
パスワード再設定メールのURLについて知っておこう
uyuki234
0
190
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
160
オーケストレーション記述言語 Katari
yukikurage
0
200
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
110
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
210
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
850
No More NoSuchMethodError
exoego
1
120
Featured
See All Featured
New Earth Scene 8
popppiees
4
2.7k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
560
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Between Models and Reality
mayunak
4
520
Agile that works and the tools we love
rasmusluckow
331
22k
Code Review Best Practice
trishagee
74
20k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
580
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
370
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
710
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Transcript
Новый подход к компиляции Scala в IntelliJ IDEA Павел Фатин
[email protected]
Scalac + Enter?
Компиляция в IDE • Интеграция с GUI • Инкрементальная компиляция
• Сервер компиляции
Интеграция с GUI • Трансляция сообщений • Индикация прогресса •
Прерывание компиляции
Инкрементальная компиляция • Время модификации файлов • Отображение исходников на
классы • Открытый интерфейс классов • Анализ зависимостей • Интеграция с другими компиляторами
Сервер компиляции • Управление процессом JVM • Протокол взаимодействия
Обновления
Новая подсистема компиляции • Сборка в отдельном процессе • SBT
для инкрементальной компиляции • Замена сервера компиляции
Сборка в отдельном процессе • Снижение потребления памяти IDEA •
Уменьшение нагрузки на GC • Разгрузка PSI и VFS в IDEA • Ускорение компиляции • Сборка из командной строки
Улучшение инкрементальной компиляции
Пример 1: Sealed class T.scala Main.scala
Пример 1*: Sealed class T.scala* Main.scala ? ...
Foo.scala foo bar Пример 2: Named parameters Foo.scala Main.scala
Foo.scala Пример 2*: Named parameters foo bar Foo.scala* Main.scala
foo Пример 3: Implicit conversion Foo.scala Main.scala
Пример 3*: Implicit conversion foo Main.scala Foo.scala*
SBT компилятор • Scala-специфичный анализ кода • Запуск компилятора внутри
процесса • Совмещение различных версий Scala • Простая передача аргументов и сообщений
Новый сервер компиляции • Решение проблем с FSC • Общий
сервер для всех проектов • Упрощение конфигурации
Результаты • Снижение нагрузки на процесс IDEA • Возможность сборки
из командной строки • Улучшенная инкрементальная компиляция • Запуск Scalac и Javac внутри процесса • Общий сервер компиляции • Упрощение конфигурации проекта
Спасибо!