diff options
Diffstat (limited to 'man')
-rw-r--r-- | man/ruby.1 | 89 |
1 files changed, 77 insertions, 12 deletions
diff --git a/man/ruby.1 b/man/ruby.1 index 3cfe605ce9..905c712f4c 100644 --- a/man/ruby.1 +++ b/man/ruby.1 @@ -430,7 +430,7 @@ Dump some information. Prints the specified target. .Ar target can be one of: -.Bl -hang -offset indent +.Bl -hang -offset indent -width "version" .It Sy version Print version description (same as .Fl -version). @@ -448,18 +448,20 @@ Check syntax (same as .El .Pp Or one of the following, which are intended for debugging the interpreter: -.Bl -hang -offset indent -tag -width "parsetree_with_comment" +.Bl -hang -offset indent -width "parsetree" .It Sy yydebug Enable compiler debug mode (same as .Fl -yydebug). .It Sy parsetree Print a textual representation of the Ruby AST for the program. -.It Sy parsetree_with_comment -Print a textual representation of the Ruby AST for the program, but with each node annotated with the associated Ruby source code. .It Sy insns Print a list of disassembled bytecode instructions. -.It Sy insns_without_opt -Print the list of disassembled bytecode instructions before various optimizations have been applied. +.It Sy -optimize +Disable various optimizations to print a list disassembled bytecode instructions. +.It Sy +error-tolerant +Enable error-tolerant parsing, when yydebug or parsetree. +.It Sy +comment +Annotate a textual representation of the Ruby AST for the program with the associated Ruby source code. .El .Pp .It Fl -verbose @@ -515,6 +517,32 @@ enabled for only mswin32, mingw32, and OS/2 platforms. If this variable is not defined, Ruby refers to .Ev COMSPEC . .Pp +.It Ev RUBY_FREE_AT_EXIT +If set, Ruby tries to free all dynamically allocated memories. +Introduced in Ruby 3.3, default: unset. +.Pp +.It Ev RUBY_IO_BUFFER_DEFAULT_SIZE +The custom default buffer size of +.Li IO::Buffer . +.Pp +.It Ev RUBY_MAX_CPU +The maximum number of native threads used by M:N Threads scheduler +Introduced in Ruby 3.3, default: 8. +.Pp +.It Ev RUBY_MN_THREADS +If set to +.Li 1 , +M:N Thread scheduler is enabled on the main Ractor. +Introduced in Ruby 3.3, default: unset. +.Pp +.It Ev RUBY_PAGER +The pager command that will be used for +.Fl -help +option. +Introduced in Ruby 3.0, default: +.Ev PAGER +environment variable. +.Pp .It Ev PATH Ruby refers to the .Ev PATH @@ -559,14 +587,15 @@ Reaching the old malloc limit. .El .Pp There are currently 4 possible areas where the GC may be tuned by -the following 11 environment variables: -.Bl -hang -compact -width "RUBY_GC_OLDMALLOC_LIMIT_GROWTH_FACTOR" -.It Ev RUBY_GC_HEAP_INIT_SLOTS -Initial allocation slots. Applies to all slot sizes. Introduced in Ruby 2.1, default: 10000. +the following environment variables: +.Bl -hang -compact -width "RUBY_GC_HEAP_n_INIT_SLOTS" .Pp -.It Ev RUBY_GC_HEAP_%d_INIT_SLOTS +.It Ev RUBY_GC_HEAP_ Ns Ar n Ns Ev _INIT_SLOTS Initial allocation of slots in a specific heap. -The available heaps can be found in the keys of `GC.stat_heap`. +The available heaps can be found in the keys of +.Li GC.stat_heap . +.Ar n +is a decimal number between 0 and 4. Introduced in Ruby 3.3. .Pp .It Ev RUBY_GC_HEAP_FREE_SLOTS @@ -589,6 +618,12 @@ where R is this factor and N is the number of old objects after the last full GC. Introduced in Ruby 2.1.1, default: 2.0 .Pp +.It Ev RUBY_GC_HEAP_REMEMBERED_WB_UNPROTECTED_OBJECTS_LIMIT_RATIO +Used to calculate the +.Li remembered_wb_unprotected_objects_limit +using a ratio of +.Li old_objects . +Introduced in Ruby 3.3, default: 0.1, minimum: 0.0 .It Ev RUBY_GC_MALLOC_LIMIT The initial limit of young generation allocation from the malloc-family. GC will start when this limit is reached. @@ -605,6 +640,31 @@ GC frequency but increasing malloc growth until RUBY_GC_MALLOC_LIMIT_MAX is reached. Introduced in Ruby 2.1, default: 1.4, minimum: 1.0 (no growth) .Pp +.It Ev RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO +Allocate additional pages when the number of free slots is +lower than the value +.Li (total_slots * (this ratio)) . +Introduced in Ruby 2.4, default: 0.2, minimum: 0.0, maximum: 1.0 +.Pp +.It Ev RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO +Allow to free pages when the number of free slots is greater than the value +.Li (total_slots * (this ratio)) . +Introduced in Ruby 2.4, default: 0.4, minimum: +.Li RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO, +maximum: 1.0 +.Pp +.It Ev RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO +Allocate slots to satisfy this formula: +.Li free_slots = total_slots * goal_ratio +In other words, prepare +.Li (total_slots * goal_ratio) +free slots. +if this value is 0.0, then use RUBY_GC_HEAP_GROWTH_FACTOR directly. +Introduced in Ruby 2.4, default: 0.65, minimum: +.Li RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO, +maximum: +.Li RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO +.Pp .It Ev RUBY_GC_OLDMALLOC_LIMIT The initial limit of old generation allocation from malloc, a full GC will start when this limit is reached. @@ -622,6 +682,11 @@ GC frequency but increasing malloc growth until RUBY_GC_OLDMALLOC_LIMIT_MAX is reached. Introduced in Ruby 2.1, default: 1.2, minimum: 1.0 (no growth) .Pp +.It Ev RUBY_SHARED_FIBER_POOL_FREE_STACKS +Frees stacks of pooled fibers, if set to 1. +Do not free the stacks if set to 0. +Introduced in Ruby 2.7, default: 1 (no growth) +.Pp .El .Sh STACK SIZE ENVIRONMENT Stack size environment variables are implementation-dependent and |