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
0
150
Новый подход к компиляции Scala в IntelliJ IDEA
ScalaDev 2013,
http://scaladev.ru/
http://www.youtube.com/watch?v=eyxNisMAcAI
Pavel Fatin
April 11, 2013
Tweet
Share
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
130
Scala Plugin для IntelliJ IDEA
pavelfatin
0
68
Scala plugin for IntelliJ IDEA
pavelfatin
0
160
Other Decks in Programming
See All in Programming
AHC061解説
shun_pi
0
320
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
370
株式会社 Sun terras カンパニーデック
sunterras
0
2k
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
150
Event Storming
hschwentner
3
1.3k
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
130
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
160
CSC307 Lecture 14
javiergs
PRO
0
450
SourceGeneratorのマーカー属性問題について
htkym
0
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
390
Codex の「自走力」を高める
yorifuji
0
250
Premier Disciplin for Micro Frontends Multi Version/ Framework Scenarios @OOP 2026, Munic
manfredsteyer
PRO
0
210
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Navigating Team Friction
lara
192
16k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
290
We Have a Design System, Now What?
morganepeng
55
8k
Un-Boring Meetings
codingconduct
0
220
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Mind Mapping
helmedeiros
PRO
1
110
The Cost Of JavaScript in 2023
addyosmani
55
9.7k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Are puppies a ranking factor?
jonoalderson
1
3.1k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
96
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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 внутри процесса • Общий сервер компиляции • Упрощение конфигурации проекта
Спасибо!