Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Новый подход к компиляции Scala в IntelliJ IDEA
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Pavel Fatin
April 11, 2013
Programming
160
0
Share
Новый подход к компиляции 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
160
Design Patterns in Scala
pavelfatin
6
1.6k
Практичность Scala
pavelfatin
0
140
Scala Plugin для IntelliJ IDEA
pavelfatin
0
73
Scala plugin for IntelliJ IDEA
pavelfatin
0
160
Other Decks in Programming
See All in Programming
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
130
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
330
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
360
Kingdom of the Machine
yui_knk
2
1.5k
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
180
Agent Skills を社内で育てる仕組み作り
jackchuka
1
1.8k
PicoRuby for IoT: Connecting to the Cloud with MQTT
yuuu
2
770
Are We Really Coding 10× Faster with AI?
kohzas
0
140
Spec-Driven Development with AI Agents (Workshop, May 2026)
antonarhipov
3
340
[RubyKaigi 2026] Require Hooks
palkan
1
310
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
500
Agentic Elixir
whatyouhide
0
450
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Technical Leadership for Architectural Decision Making
baasie
3
360
Balancing Empowerment & Direction
lara
6
1.1k
How GitHub (no longer) Works
holman
316
150k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Being A Developer After 40
akosma
91
590k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
A Soul's Torment
seathinner
6
2.8k
How to Talk to Developers About Accessibility
jct
2
190
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
180
Optimising Largest Contentful Paint
csswizardry
37
3.7k
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 внутри процесса • Общий сервер компиляции • Упрощение конфигурации проекта
Спасибо!