Spec-Zone.ru › Pony

RuntimeOptions

[Source]

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

[Source]

new iso create()
: RuntimeOptions iso^

Возвращаемые значения

  • RuntimeOptions iso^

Открытые поля

var ponymaxthreads: U32 val

[Source]

Использует N потоков планировщика. Значение по умолчанию равно количеству доступных ядер процессора (не гиперпотоков). Это значение не может быть больше количества доступных ядер.

var ponyminthreads: U32 val

[Source]

Минимальное количество активных потоков планировщика. Значение по умолчанию равно 0, что означает, что все потоки планировщика могут приостанавливаться, когда нет задач. Это значение не может быть больше --ponymaxthreads, если оно предоставлено, или физического количества ядер.

var ponynoscale: Bool val

[Source]

Не уменьшать количество потоков планировщика. См. --ponymaxthreads, чтобы явно указать количество потоков. Не может использоваться с --ponyminthreads.

var ponysuspendthreshold: U32 val

[Source]

Время простоя перед приостановкой потока планировщика для минимизации использования ресурсов (максимум 1000 мс, минимум 1 мс). Значение по умолчанию равно 1 мс.

var ponycdinterval: U32 val

[Source]

Выполнять обнаружение циклов каждые N мс (максимум 1000 мс, минимум 10 мс). Значение по умолчанию равно 100 мс.

var ponygcinitial: USize val

[Source]

Отложить сборку мусора до тех пор, пока актор не будет использовать как минимум 2^N байт. Значение по умолчанию равно 2^14.

var ponygcfactor: F64 val

[Source]

После GC, актор будет снова подвергнут GC при использовании памяти кучи в N раз больше, чем текущее значение. Это значение с плавающей точкой. Значение по умолчанию равно 2.0.

var ponynoyield: Bool val

[Source]

Не уступать процессор, когда нет задач.

var ponynoblock: Bool val

[Source]

Не отправлять блокирующие сообщения детектору циклов.

var ponypin: Bool val

[Source]

Закрепить потоки планировщика на ядрах процессора. Поток ASIO также может быть закреплен, если --ponypinasio установлен.

var ponypinasio: Bool val

[Source]

Закрепить поток ASIO на ядре процессора так же, как закрепляются потоки планировщика. Требуется --ponypin для действия.

var ponyversion: Bool val

[Source]

Вывести версию компилятора и завершить программу.

var ponyhelp: Bool val

[Source]

Вывести параметры использования среды выполнения и завершить программу.

© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/builtin-RuntimeOptions

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API