Для студентов СПбГУ по предмету ДругиеИзолированный запуск поставщиков типов для компилятора F#Изолированный запуск поставщиков типов для компилятора F#
2024-06-292024-06-29СтудИзба
Курсовая работа: Изолированный запуск поставщиков типов для компилятора F#
Описание
Оглавление
3
Введение
Современное программирование процветает на пространствах с большими данными и сложными задачами по их обработке. Можно наблюдать, что из-за распространенности многоядерных процессоров все чаще требуется писать параллельный код. Точно так же и в облач-ных системах важно уметь распределить выполнение задачи по парал-лельным потокам вычислений. К сожалению, с помощью традиционных императивных и объектно-ориентированных языков очень сложно пи-сать распараллеливаемый код без ошибок из-за обилия разделяемых состояний и функций с побочными эффектами. Сейчас для решения этой проблемы всё чаще и чаще применяется функциональная парадиг-ма программирования,
Введение | 4 | |||
1. | Обзор | 8 | ||
1.1. | Сервисыкомпилятора .................... | 8 | ||
1.2. | Поставщикитипов....................... | 9 | ||
1.3. | Предоставляемыетипы.................... | 10 | ||
1.4. | Среда разработки JetBrains Rider . . . . . . . . . . . . . . | 13 | ||
1.5. | БиблиотекаRD ........................ | 13 | ||
2. | Описание реализации | 15 | ||
2.1. | API изолированных поставщиков типов . . . . . . . . . . | 15 | ||
2.1.1. Основнаяидея..................... | 15 | |||
2.1.2. | Реализация в Rider . . . . . . . . . . . . . . . . . . | 17 | ||
2.2. | Жизненный цикл изолированного процесса . . . . . . . . | 23 | ||
2.3. | Управление кэшированием . . . . . . . . . . . . . . . . . . | 24 | ||
2.3.1. | Кэширование на стороне Rider . . . . . . . . . . . | 24 | ||
2.3.2. Кэширование на стороне изолированного процесса | 26 | |||
2.3.3. | Инвалидация и очистка кэшей . . . . . . . . . . . | 27 | ||
2.4. | Поддержка старых версий базовой библиотеки поставщи- | |||
ковтипов............................ | 28 | |||
2.5. | Тестированиеиапробация . . . . . . . . . . . . . . . . . . | 29 | ||
2.6. | Замечания ........................... | 30 | ||
Заключение | 31 | |||
Список литературы | 33 |
3
Введение
Современное программирование процветает на пространствах с большими данными и сложными задачами по их обработке. Можно наблюдать, что из-за распространенности многоядерных процессоров все чаще требуется писать параллельный код. Точно так же и в облач-ных системах важно уметь распределить выполнение задачи по парал-лельным потокам вычислений. К сожалению, с помощью традиционных императивных и объектно-ориентированных языков очень сложно пи-сать распараллеливаемый код без ошибок из-за обилия разделяемых состояний и функций с побочными эффектами. Сейчас для решения этой проблемы всё чаще и чаще применяется функциональная парадиг-ма программирования,
Характеристики курсовой работы
Список файлов
Изолированный запуск поставщиков типов для компилятора F#.doc