aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-07 18:49:49 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-12-07 18:49:49 +0000
commitb401937c627f2aa15c5eb7d6810fd0c049968ecc (patch)
tree193c3ecd1a8b4db05f850e926c94b35fc67cdb9f /doc
parent8dce6b15cc9eaa12d89926570cffd7ac7634fb83 (diff)
downloadruby-b401937c627f2aa15c5eb7d6810fd0c049968ecc.tar.gz
doc/extension.rdoc: warn about kwargs performance in C [ci skip]
This existing API seems doomed performance-wise, and writing things in Ruby is nicer anyways. So discourage folks from using it. [Feature #11339] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'doc')
-rw-r--r--doc/extension.rdoc5
1 files changed, 5 insertions, 0 deletions
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