0.28.1
Pony 0.28.1 is here! It includes a couple high-priority bug fixes. Updating as soon as possible is recommended. Please note, the Homebrew PR hasn't yet been merged so you can't update using Homebrew until that is done. All other supported platforms are good to go!
Fix cycle detector issue with checking for blocked actors
Fix issue #2975 where the cycle detector wasn't correctly reaping cycles of dead actors. Change cycle detector to use the maximum of 1000
or 10% of all actors currently alive for how many actors to query when the cycle detector periodically checks to see which actors are currently blocked. This is based on a suggestion by @plprofetes to ensure that the cycle detector is effective even for applications with a large number (millions) of temporary actors.
Add unchop to array and unchop, repeat_str and mul to string
- Adds
unchop
to both array and string to allow the the original string or array to be recovered by combining the two pieces from a previouschop
. - Adds
repeat_str
andmul
to string to allow easy repeating of strings (such as'abc' * 6
to getabcabcabcabcabcabc
or'abc'.repeat_str(6, ', ')
to getabc, abc, abc, abc, abc, abc
)
Several Improvements to the random package
- Add XorOshiro128** and SplitMix64 PRNGs http://xoshiro.di.unimi.it/
- Update XorOshiro128+ paramaters as noted in http://xoshiro.di.unimi.it/xoroshiro128plus.c
- Add
from_64bits
constructor to 128 bit state PRNGs that uses SplitMix64 as suggested here: http://xoshiro.di.unimi.it/ - Use fixed-point inversion for generating bounded random numbers using
Random.int
. But fall back to slower floating-point multiplication technique if no native 128 bit ops are supported. - Add
Random.int_unbiased
function for generating an unbiased bounded random number. For details see: http://www.pcg-random.org/posts/bounded-rands.html This one is slightly slower asRandom.int
. - Added tests and benchmarks
Don't turn off Epoll OneShot when resubscribing to OneShot events
Fixes the performance regression introduced in #2897
[0.28.1] - 2019-06-01
Fixed
- Don't turn off Epoll OneShot when resubscribing to events (PR #3136)
- Add unchop to array and unchop, repeat_str and mul to string (PR #3155)
- Fix cycle detector issue with checking for blocked actors (PR #3154)
- Wake up suspended scheduler threads if there is work for another one (PR #3153)
Added
- Add Docker image based on Alpine (PR #3138)
- Added
XorOshiro128StarStar
andSplitMix64
PRNGs. (PR #3135) - Added function
Random.int_unbiased
. (PR #3135) - Added
from_u64
constructor to 128 bit state PRNGs. (PR #3135) - Add unchop to array and unchop, repeat_str and mul to string (PR #3155)