Изменить путь сборки RAD studio 10.2 Tokyo для диска Ram

Из соображений преимуществ использования RAM-диска, который размещается в оперативной памяти, вместо жестких дисков HDD и жестких дисков SDD, мы хотим, чтобы как можно больше временных файлов создавалось с помощью RAD Studio, файлов, которые компилятор/сборщик созданные во время компиляции/сборки, а также выходные файлы, такие как исполняемые файлы, создаются на RAM-диске.

Можно ли изменить разные пути сборки проектов в RAD Studio 10.2 Tokyo? Как?

Например, вместо диска C используйте диск M, который представляет собой RAM-диск емкостью 4 ГБ.

Обратите внимание, что сам проект находится внутри C, но временные файлы перемещаются куда-то еще.

Преимущества использования RAM-диска: (причины, которые меня побуждают это сделать)

  • более быстрое время сборки (без реального ввода-вывода)

  • SSD изнашивается при повторяющихся перестройках.

  • проекты по своей сути очищаются (что дает следующие преимущества)

  • делитесь быстрее, ваши проекты не заполняются ненужными файлами, поэтому вы можете легко делиться папками с другими. (размер кода обычно меньше 1 МБ, но объекты сборки могут превышать 100 МБ)

  • меньше шансов создания заблокированных файлов. (которые вызывают рассинхронизацию сборки, ошибки и т. д.), в этом случае форматировать виртуальный диск проще, чем копаться в настройках RAD Studio или перезапускать его.

Недостатки:

  • вам нужно гораздо больше оперативной памяти, в моем случае у меня 28 ГБ, из которых я могу выделить 4 ГБ.

  • если вы перезагрузите RAD Studio или компьютер, вы потеряете скомпилированные объекты, и вам придется пересобирать (один раз)

Но преимущества использования RAM-диска явно перевешивают его недостатки.

Хорошо, теперь, когда я разумно убедил вас, почему я этого хочу, дайте мне пути.

Как экспортировать параметры конфигурации в файл для восстановления параметров исходной конфигурации?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
72
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

У меня разные причины сделать это, но следующие шаги:

Для Дельфи 12.1:

Откройте меню «Инструменты | Параметры».

Выберите строку «Папки по умолчанию».

Укажите новый путь проекта по умолчанию

Кроме того, вы можете делать то же самое от проекта к проекту и даже создавать конфигурацию, используя конфигурацию сборки через экран параметров проекта и выходные каталоги.

В Delphi 10.2 экран немного более загроможден, но принцип тот же:

Какая у вас версия RAD Studio?

Reza 30.08.2024 15:51

Этот снимок экрана взят из версии 12.1 Community, но я сделал то же самое в версии 10.2. Я загружу и проверю, что процесс тот же, но мне так кажется. Конечно, я добился того же эффекта в 10.2.

Dsm 30.08.2024 15:56

На самом деле экран в 10.2 более загроможден, но принцип тот же.

Dsm 30.08.2024 16:04

Предложенное решение имеет проблему, поскольку, учитывая, что содержимое виртуальных дисков удаляется каждый раз при выключении или перезапуске компьютера, необходимо копировать весь проект с жесткого диска на виртуальный диск при каждом включении компьютера. дальше, а в конце задача скопировать проект с виртуального диска на жёсткий диск, что не красиво. Нет ли лучшего решения?

Reza 30.08.2024 17:14

вы делаете хорошее замечание. Возможно, решением будет использование контроля версий или общего репозитория, но я этим не пользовался.

Dsm 30.08.2024 17:16

Пожалуйста, прочитайте первый абзац вопроса: «Из-за преимуществ использования RAM-диска, который размещается в оперативной памяти, вместо жестких дисков HDD и жестких дисков SDD, мы хотим, чтобы RAD создавало как можно больше временных файлов. Studio файлы, созданные компилятором/сборщиком во время компиляции/сборки, а также выходные файлы, такие как исполняемые файлы, создаются на RAM-диске». Многие файлы создаются на этапах компиляции, сборки и выполнения, хотя бы для того, чтобы эти файлы создавались в виртуальной памяти, а не на жестком диске, что нам делать?

Reza 30.08.2024 17:19

Я считаю, что вам следует использовать одну из поставляемых систем контроля версий в сочетании с вышеуказанными. Использование контроля версий позволяет вам извлекать информацию из репозитория при запуске и фиксировать по завершении. Но признаюсь, что я не использовал этот метод.

Dsm 30.08.2024 17:53

Спасибо. Я читал ваш ответ, когда в моей офисной лампе перегорела лампочка. Мне удалось получить достаточно света от экрана (благодаря ГИГАНТСКИМ СИЯЮЩИМ БЕЛЫМ ИЗОБРАЖЕНИЯМ), чтобы выйти из офиса, взять лампочку на замену, вернуться, найти лампу и заменить лампочку.

Ken White 31.08.2024 01:07
Ответ принят как подходящий

Вы можете изменить нужные пути в Проект > Параметры > Сборка > Компилятор Delphi.

Более конкретно, вы, вероятно, захотите изменить

  • Выходной каталог пакета: указывает, куда компилятор помещает созданные файлы пакета.
  • Выходной каталог модуля: указывает отдельный каталог для хранения скомпилированных модулей (.dcu).
  • Выходной каталог DCP: возможно, вы захотите переопределить это значение, если ваш проект сильно зависит от пакетов. Если оставить пустым, используется глобальное значение. Глобальное значение можно изменить в Инструменты > Параметры > Язык > Параметры Delphi > Библиотека.

В любом случае, я не думаю, что вы много выиграете, используя RAM-диск с Delphi. Почему?

В отличие от многих других языков программирования, которые перекомпилируют каждый модуль при каждой компиляции, Delphi перекомпилирует только те модули, код которых действительно изменился с момента последней компиляции (если вы специально не выбрали сборку всего проекта). Так что, как правило, перезаписей скомпилированных файлов типа (.dcu) не так много.

Вы можете повысить производительность во время компоновки, поскольку Liker сможет извлекать скомпилированные файлы с RAM-накопителя намного быстрее, чем с обычного диска. Что ж, некоторые современные SSD-накопители могут очень быстро извлекать кэшированные файлы (они сохраняют несколько последних файлов, к которым был осуществлен доступ, в своем внутреннем кеше), так что здесь тоже может быть не так уж много прироста производительности.


Что касается износа SSD.

Количество перезаписей, которые вы будете вызывать в Дели, даже если вы каждый раз будете полностью собирать свой проект, ничто по сравнению с тем, что делает Windows, сохраняя всю информацию об индексе файлов, которую она собирает, постоянно индексируя содержимое файла. И да, я видел, как Windows глубоко индексирует содержимое файлов .pas, поэтому каждый раз, когда вы сохраняете проект, Windows будет переиндексировать ваши файлы. Это если только вы не отключили глубокую индексацию файлов *.pas, как я.

Да, и не заставляйте меня рассказывать о том, сколько данных записывает Windows, собирая и затем обрабатывая все данные телеметрии, которые оно постоянно отслеживает.

Если бы у вас когда-нибудь была возможность увидеть Windows 10 или новее, работающую на компьютере с механическим жестким диском, вы бы поняли, что я имею в виду. У моей мамы есть один такой компьютер, и я действительно удивлен, что ее жесткий диск все еще работает без проблем, поскольку он практически все время измельчает (читает/записывает).

Это нужно будет реализовывать по каждому проекту, а не глобально, но я на 100% согласен с другими вашими комментариями о том, что от этого многого не выиграешь.

Dsm 30.08.2024 22:21

@Dsm Да, это необходимо будет реализовать на основе проекта, поскольку эти местоположения всегда относятся к местоположению проекта.

SilverWarior 01.09.2024 00:43

Другие вопросы по теме