summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--doc/extension.rdoc5
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 34023b0fae..c44fa1950d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Dec 8 03:45:47 2015 Eric Wong <e@80x24.org>
+
+ * doc/extension.rdoc: warn about kwargs performance in C
+ [Feature #11339] [ci skip]
+
Tue Dec 8 03:44:51 2015 Koichi Sasada <ko1@atdot.net>
* iseq.c (iseq_load): disable peephole optimization option
diff --git a/doc/extension.rdoc b/doc/extension.rdoc
index 00e789f585..40c68e8be0 100644
--- a/doc/extension.rdoc
+++ b/doc/extension.rdoc
@@ -1412,6 +1412,11 @@ int rb_get_kwargs(VALUE keyword_hash, const ID *table, int required, int optiona
next to optional +values+ as a new Hash, otherwise raises "unknown
keyword" +ArgumentError+.
+ Be warned, handling keyword arguments in the C API is less efficient
+ than handling them in Ruby. Consider using a Ruby wrapper method
+ around a non-keyword C function.
+ ref: https://bugs.ruby-lang.org/issues/11339
+
VALUE rb_extract_keywords(VALUE *original_hash)
Extracts pairs whose key is a symbol into a new hash from a hash