From b401937c627f2aa15c5eb7d6810fd0c049968ecc Mon Sep 17 00:00:00 2001 From: normal Date: Mon, 7 Dec 2015 18:49:49 +0000 Subject: 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 --- ChangeLog | 5 +++++ doc/extension.rdoc | 5 +++++ 2 files changed, 10 insertions(+) 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 + + * doc/extension.rdoc: warn about kwargs performance in C + [Feature #11339] [ci skip] + Tue Dec 8 03:44:51 2015 Koichi Sasada * 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 -- cgit v1.2.3