| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2019-07-18 | Add experimental `RUBY_SHARED_FIBER_POOL_FREE_STACKS` to control madvise. | Samuel Williams | |
| 2019-07-18 | Add note about setting `vm.max_map_count` for Linux. | Samuel Williams | |
| 2019-07-18 | Make fiber_pool more conservative on platforms with limited address space. | Samuel Williams | |
| We use COROUTINE_LIMITED_ADDRESS_SPACE to select platforms where address space is 32-bits or less. Fiber pool implementation enables more book keeping, and reduces upper limits, in order to minimise address space utilisation. | |||
| 2019-07-18 | Add `struct fiber_pool {int free_stacks;}` to control usage of madvise. | Samuel Williams | |
| `madvise(free)` and similar operations are good because they avoid swap usage by clearing the dirty bit on memory pages which are mapped but no longer needed. However, there is some performance penalty if there is no memory pressure. Therefore, we do it by default, but it can be avoided. | |||
| 2019-07-18 | Add FIBER_POOL_ALLOCATION_FREE to control allocation/free strategy. | Samuel Williams | |
| 2019-07-18 | Limit expansion of fiber pool on 32-bit platforms. | Samuel Williams | |
| On 32-bit platforms, expanding the fiber pool by a large amount may fail, even if a smaller amount may succeed. We limit the maximum size of a single allocation to maximise the number of fibers that can be allocated. Additionally, we implement the book-keeping required to free allocations when their usage falls to zero. | |||
| 2019-07-18 | Enable `madvise` to release stack space back to OS. | Samuel Williams | |
| 2019-07-18 | Add details of fiber pool and coroutine selection to NEWS. | Samuel Williams | |
| 2019-07-18 | Add `ucontext` and `copy` coroutine implementations to test matrix. | Samuel Williams | |
| 2019-07-18 | Improve build process and coroutine implementation selection. | Samuel Williams | |
| 2019-07-18 | Stack copying implementation of coroutines. | Samuel Williams | |
| 2019-07-18 | Remove unused vm_stack recycling. | Samuel Williams | |
| 2019-07-18 | Implement fiber pool for reduced fiber allocation overhead. | Samuel Williams | |
| Replace previous stack cache with fiber pool cache. The fiber pool allocates many stacks in a single memory region. Stack allocation becomes O(log N) and fiber creation is amortized O(1). Around 10x performance improvement was measured in micro-benchmarks. | |||
| 2019-07-18 | Make FIBER_USE_NATIVE the default and reformat code. | Samuel Williams | |
| 2019-07-18 | * 2019-07-18 | git | |
| 2019-07-18 | Add benchmark to help diagnose performance regression. | Samuel Williams | |
| See https://bugs.ruby-lang.org/issues/16009 for more details. | |||
| 2019-07-17 | * expand tabs. | git | |
| 2019-07-17 | compile.c: add NO_CHECK for the calls to COMPILE whose result is unused | Yusuke Endoh | |
| to suppress many warnings of Coverity Scan | |||
| 2019-07-17 | Adjust indent [ci skip] | Nobuyoshi Nakada | |
| 2019-07-17 | Get rid of LoadError with $DEBUG | Nobuyoshi Nakada | |
| 2019-07-17 | Separate pull-github from merge-github [ci skip] | Nobuyoshi Nakada | |
| 2019-07-17 | * 2019-07-17 | git | |
| 2019-07-17 | Expanded buf to copy at once | Nobuyoshi Nakada | |
| Build dumped string from base packed data and extended year at once. Although currently ruby_marshal_write_long() never writes more than 5 bytes per its format specification, allocate `sizeof(long)+1` for the sanitation. | |||
| 2019-07-17 | Named the backward compatible dump size | Nobuyoshi Nakada | |
| 2019-07-16 | Removed twisted tests | Nobuyoshi Nakada | |
| Why does only Process.daemon have these tests? | |||
| 2019-07-16 | nil as the default of optional parameters | Nobuyoshi Nakada | |
| 2019-07-16 | nil as the default of optional parameters | Nobuyoshi Nakada | |
| 2019-07-16 | Moved the check for `exception` to rb_execarg_addopt | Nobuyoshi Nakada | |
| Check for `exception` option in rb_execarg_addopt, as well as other options. And then raise a particular ArgumentError if it is not allowed. | |||
| 2019-07-16 | Constified afamily functions | Nobuyoshi Nakada | |
| 2019-07-16 | Somehow `if` didn't work | Nobuyoshi Nakada | |
| 2019-07-16 | Print debugging information when updating failed | Nobuyoshi Nakada | |
| 2019-07-16 | Allow mday in Date.iso8601 to be omitted | Nobuyoshi Nakada | |
| [Bug #12285] | |||
| 2019-07-16 | * expand tabs. | git | |
| 2019-07-16 | Removed intermediate local variables | Nobuyoshi Nakada | |
| 2019-07-16 | Fixed the library path for tools | Nobuyoshi Nakada | |
| 2019-07-16 | Fixed the library path for tools | Nobuyoshi Nakada | |
| 2019-07-16 | Expanded f_numerator | Nobuyoshi Nakada | |
| 2019-07-16 | Expanded f_denominator | Nobuyoshi Nakada | |
| 2019-07-16 | * 2019-07-16 | git | |
| 2019-07-16 | * expand tabs. | git | |
| 2019-07-16 | compile.c: add NO_CHECK for the calls to COMPILE whose result is unused | Yusuke Endoh | |
| to suppress many warnings of Coverity Scan | |||
| 2019-07-16 | Add a /* fall through */ comment | Yusuke Endoh | |
| 2019-07-15 | Removed duplicate highlighting | Nobuyoshi Nakada | |
| 2019-07-15 | Always evaluate the expression RUBY_ASSERT_MESG_WHEN just once | Nobuyoshi Nakada | |
| 2019-07-15 | Require Ruby 2.4 or later because needs lex_state from Ripper | aycabta | |
| 2019-07-15 | update-deps for dependencies | Nobuyoshi Nakada | |
| 2019-07-15 | * expand tabs. | git | |
| 2019-07-15 | Removed dead code | Nobuyoshi Nakada | |
| If `emesg` is `Qundef`, it is not a message string and then `elen` (the length of the message) is 0. So `emesg` cannot be `Qundef` in the `elen != 0` block. Pointed out by Coverity Scan. | |||
| 2019-07-15 | Add features of IRB to NEWS | aycabta | |
| 2019-07-15 | Add Reline section to NEWS | aycabta | |
