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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Pavel Fatin
April 11, 2013
Programming
160
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
170
Design Patterns in Scala
pavelfatin
6
1.6k
Практичность Scala
pavelfatin
0
140
Scala Plugin для IntelliJ IDEA
pavelfatin
0
74
Scala plugin for IntelliJ IDEA
pavelfatin
0
160
Other Decks in Programming
See All in Programming
New "Type" system on PicoRuby
pocke
1
970
Webフレームワークの ベンチマークについて
yusukebe
0
170
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
270
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
560
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
150
dRuby over BLE
makicamel
2
380
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.2k
Inside Stream API
skrb
1
740
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
590
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.7k
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
790
Featured
See All Featured
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
600
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Become a Pro
speakerdeck
PRO
31
6k
Building AI with AI
inesmontani
PRO
1
1.1k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
210
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
エンジニアに許された特別な時間の終わり
watany
107
250k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
160
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
300
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.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 внутри процесса • Общий сервер компиляции • Упрощение конфигурации проекта
Спасибо!