aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2019-10-20 04:52:20 +0900
committerGitHub <noreply@github.com>2019-10-20 04:52:20 +0900
commitcaac5f777ae288b5982708b8690e712e1cae0cf6 (patch)
treee4257d65c062b7e8c9e4c4b962cee3ca7c5e1d4c /NEWS
parent434966bffddd4299d34f5d1f7f225bf7396d0807 (diff)
downloadruby-caac5f777ae288b5982708b8690e712e1cae0cf6.tar.gz
make monitor.so for performance. (#2576)
Recent monitor.rb has performance problem because of interrupt handlers. 'Monitor#synchronize' is frequently used primitive so the performance of this method is important. This patch rewrite 'monitor.rb' with 'monitor.so' (C-extension) and make it faster. See [Feature #16255] for details. Monitor class objects are normal object which include MonitorMixin. This patch introduce a Monitor class which is implemented on C and MonitorMixin uses Monitor object as re-entrant (recursive) Mutex. This technique improve performance because we don't need to care atomicity and we don't need accesses to instance variables any more on Monitor class.
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS3
1 files changed, 3 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index b72ab731dd..5304df451d 100644
--- a/NEWS
+++ b/NEWS
@@ -511,6 +511,9 @@ File::
* File.realpath now uses realpath(3) on many platforms, which can
significantly improve performance.
+Monitor::
+ * Monitor class is written in C-extension. [Feature #16255]
+
Thread::
* VM stack memory allocation is now combined with native thread stack,