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
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
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
110
AgentCore Optimizationを始めよう!
licux
3
230
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
500
AI時代になぜ書くのか
mutsumix
0
340
JCON - Create Agentic AI Apps, The Easy Way!
kdubois
1
100
20260514 - build with ai 2026 - build LINE Bot with Gemini CLI
line_developers_tw
PRO
0
390
PHPer、Cloudflare に引っ越す
suguruooki
1
140
Road to RubyKaigi: Play Hard(ware)
makicamel
1
560
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
2.7k
Claude CodeでETLジョブ実行テストを自動化してみた
yoshikikasama
0
1.2k
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
430
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
140
Featured
See All Featured
Thoughts on Productivity
jonyablonski
76
5.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
790
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Un-Boring Meetings
codingconduct
0
280
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
140
AI: The stuff that nobody shows you
jnunemaker
PRO
6
630
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
Being A Developer After 40
akosma
91
590k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
360
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
500
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 внутри процесса • Общий сервер компиляции • Упрощение конфигурации проекта
Спасибо!