Извините смешное название, я использую его по аналогии с «zip bomb». Возможно ли создать исходный файл scala, который при компиляции производит большое количество файлов классов (или очень большой файл одного класса)? Есть ли способ увеличить размер файлов классов быстрее, чем линейно, с размером исходного файла?Scala bomb? (как молния)
ответ
Специализация по своей природе является экспоненциальной по числу специализированных параметров типа.
class Huge[@specialized A, @specialized B, @specialized C](
val a: A, val b: B, val c: C
) {} // 730 files, 2.9 MB
class Gigantic[@specialized A, @specialized B, @specialized C, @specialized D](
val a: A, val b: B, val c: C, val d: D
) {} // 6562 files, 26 MB
сопоставления с образцом может включать в себя много дублирования кода для сложных случаев (хотя я считаю, что трудно точно предсказать, когда это произойдет).
А, я никогда не пользовался специализацией, отличный ответ! –
Rex, для информации, есть ошибка, вызванная для соответствия шаблону https://issues.scala-lang.org/browse/SI-1133, она терпит неудачу, потому что генерируется слишком много кода. Это должно быть исправлено с помощью нового виртуального шаблона в 2.10. –
- 1. Двумерная молния
- 2. Defusing Binary Bomb: phase_5
- 3. Bomb lab assembly описание
- 4. Binary bomb- фаза 6
- 5. Bomb lab phase_4
- 6. Динамическое программирование: молния
- 7. повредиться молния с ReadFile
- 8. Binary Bomb Lab-Phase 3
- 9. Phase 3 Binary Bomb Assembly
- 10. binary bomb lab phase 6
- 11. Bomb lab phase 4 func4
- 12. iOS IAP подписка Time Bomb
- 13. Binary Bomb Phase 3 Assembly
- 14. Fork-Exec Bomb без петель
- 15. VS2013 Публикации - выход FileSystem, как молния
- 16. RxJava молния с vararg наблюдаемых
- 17. LINQ «молния» в массиве строк
- 18. OpenGL texture + молния + проблема смешивания
- 19. Понимание синтаксиса x86 относительно C 'bomb'
- 20. Язык ассемблера декодирования (Bomb Lab Phase 5)
- 21. Rookie Assembly Bomb Defusal cmp Оператор
- 22. Binary Bomb Defusion. Дефрагментация Дамп - фаза 2
- 23. Как объявить указатель массива объектов? (LNK2001 неразрешенный внешний символ "общественность: статический класс бомба * * Bomb :: бомба" (бомбы @ Bomb @@ 2PAPAV1 @ A)?)
- 24. Clojure Застежка-молния вложенных карт, подавляющая TRIE
- 25. Застежка-молния: картирование поверх последней пачки
- 26. Отсутствует символ событий ASP.NET (желтый молния)
- 27. малина pi молния dma pwm мерцание
- 28. Застежка-молния для создания запросов xml?
- 29. Автоматизированный процесс застежка-молния иногда пропускает файлы
- 30. Osmdroid - открытая застежка-молния из ZIP?
Что, черт возьми, вам это может понадобиться? –
@NikitaVolkov Это звучит как интересное умственное упражнение, но у меня есть проблема с поиском практического приложения. – Vatine
Хорошо, для тех людей, которые нуждаются в подходящих приложениях: Попытка защитить сервис, который компилирует Scala-код из DOS-атак. –