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
120
Новый подход к компиляции 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
130
Design Patterns in Scala
pavelfatin
6
1.5k
Практичность Scala
pavelfatin
0
120
Scala Plugin для IntelliJ IDEA
pavelfatin
0
51
Scala plugin for IntelliJ IDEA
pavelfatin
0
130
Other Decks in Programming
See All in Programming
From Idea to IDE: Developing Plugins for Android Studio
thisaay
1
170
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
130
事業フェーズの変化に対応する 開発生産性向上のゼロイチ
masaygggg
0
200
Rubyとクリエイティブコーディングの輪の広がり / The Growing Circle of Ruby and Creative Coding
chobishiba
1
270
Rechartsで楽にゴリゴリにカスタマイズする!
10tera
1
170
o1モデルのプロンプトエンジニアリングって?
ktc_wada
0
180
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
190
Prolog入門
qnighy
4
1k
Patched fetch did not work
quramy
3
180
The Sequel to a Dream of Ruby Parser's Grammar
ydah
1
220
Scala におけるコンパイラエラーとの付き合い方
chencmd
2
420
React + TextAliveでカッコいいLyric Applicatioinを作ろう!!
tosuri13
0
400
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
359
19k
From Idea to $5000 a Month in 5 Months
shpigford
379
46k
YesSQL, Process and Tooling at Scale
rocio
167
14k
How GitHub Uses GitHub to Build GitHub
holman
472
290k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.6k
Become a Pro
speakerdeck
PRO
22
4.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Building Flexible Design Systems
yeseniaperezcruz
325
38k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
41
6.5k
How STYLIGHT went responsive
nonsquared
93
5.1k
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 внутри процесса • Общий сервер компиляции • Упрощение конфигурации проекта
Спасибо!