RuntimeOptions
Pony структура для параметров выполнения Pony, которая позволяет переопределить значения по умолчанию параметров выполнения Pony с помощью кода, скомпилированного в программу.
Это делается путем добавления следующей функции в ваш Main актор:
fun @runtime_override_defaults(rto: RuntimeOptions) =>
а затем по необходимости переопределения полей rto (экземпляр RuntimeOptions).
ПРИМЕЧАНИЕ: Аргументы командной строки по-прежнему сохраняют любые значения, установленные через @runtime_override_defaults.
Следующий пример переопределяет аргумент --ponyhelp на значение по умолчанию true вместо false, заставляя скомпилированную программу всегда отображать справку Pony:
actor Main
new create(env: Env) =>
env.out.print("Hello, world.")
fun @runtime_override_defaults(rto: RuntimeOptions) =>
rto.ponyhelp = true
struct ref RuntimeOptions
Конструкторы
create
new iso create() : RuntimeOptions iso^
Возвращаемые значения
- RuntimeOptions iso^
Открытые поля
var ponymaxthreads: U32 val
Использует N потоков планировщика. Значение по умолчанию равно количеству доступных ядер процессора (не гиперпотоков). Это значение не может быть больше количества доступных ядер.
var ponyminthreads: U32 val
Минимальное количество активных потоков планировщика. Значение по умолчанию равно 0, что означает, что все потоки планировщика могут приостанавливаться, когда нет задач. Это значение не может быть больше --ponymaxthreads, если оно предоставлено, или физического количества ядер.
var ponynoscale: Bool val
Не уменьшать количество потоков планировщика. См. --ponymaxthreads, чтобы явно указать количество потоков. Не может использоваться с --ponyminthreads.
var ponysuspendthreshold: U32 val
Время простоя перед приостановкой потока планировщика для минимизации использования ресурсов (максимум 1000 мс, минимум 1 мс). Значение по умолчанию равно 1 мс.
var ponycdinterval: U32 val
Выполнять обнаружение циклов каждые N мс (максимум 1000 мс, минимум 10 мс). Значение по умолчанию равно 100 мс.
var ponygcinitial: USize val
Отложить сборку мусора до тех пор, пока актор не будет использовать как минимум 2^N байт. Значение по умолчанию равно 2^14.
var ponygcfactor: F64 val
После GC, актор будет снова подвергнут GC при использовании памяти кучи в N раз больше, чем текущее значение. Это значение с плавающей точкой. Значение по умолчанию равно 2.0.
var ponynoyield: Bool val
Не уступать процессор, когда нет задач.
var ponynoblock: Bool val
Не отправлять блокирующие сообщения детектору циклов.
var ponypin: Bool val
Закрепить потоки планировщика на ядрах процессора. Поток ASIO также может быть закреплен, если --ponypinasio установлен.
var ponypinasio: Bool val
Закрепить поток ASIO на ядре процессора так же, как закрепляются потоки планировщика. Требуется --ponypin для действия.
var ponyversion: Bool val
Вывести версию компилятора и завершить программу.
var ponyhelp: Bool val
Вывести параметры использования среды выполнения и завершить программу.
© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/builtin-RuntimeOptions