Используйте Система. Среда класс.
методы
var value = System.Environment.GetEnvironmentVariable(variable [, Target])
и
System.Environment.SetEnvironmentVariable(variable, value [, Target])
сделают задание для Вас.
дополнительный параметр Target
является перечислением типа EnvironmentVariableTarget
, и это может быть один из: Machine
, Process
, или User
. При исключении его цель по умолчанию текущий процесс.
В представлении задач CRAN по высокопроизводительным вычислениям с R перечислено несколько вариантов. XP - это ограничение, но вы все равно получите что-то вроде snow для работы с сокетами в течение нескольких минут.
Я слышал, что REvolution R поддерживает лучшую многопоточность, чем типичная версия R для CRAN, и REvolution также поддерживает 64-битную R в Windows. Я подумывал о покупке копии, но обнаружил, что их цена непрозрачна. На их сайте нет прайс-листа. Очень странно.
Я считаю, что в Windows лучше всего сделать это с помощью foreach и snow, как сказал Дэвид Смит.
Однако системы на основе Unix / Linux могут выполнять вычисления с использованием нескольких процессов с ' многоядерный пакет. Он предоставляет высокоуровневую функцию mclapply, которая выполняет понимание списка на нескольких ядрах. Преимущество «многоядерного» пакета состоит в том, что каждый процессор получает частную копию глобальной среды, которую он может изменять. Первоначально эта копия является просто указателем на глобальную среду, что делает обмен переменной чрезвычайно быстрым, если глобальная среда обрабатывается как доступная только для чтения.
Rmpi требует, чтобы данные передавались явно между процессами R вместо работы с подход "многоядерного" закрытия.
- Дэн
Я считаю, что пакет многоядерный
работает на XP. Он дает некоторые базовые возможности для работы с несколькими процессами, особенно предлагая замену для lapply ()
и простой способ вычисления выражения в новом потоке ( mcparallel ()
) .