diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-10-29 09:10:32 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-10-29 09:10:32 +0000 |
commit | 05b9b42918868a0a355a5cf9ce0d92baf4236328 (patch) | |
tree | 6ed8059cdc4d5ef94f8cc4b73510bdf581be3105 /internal.h | |
parent | f9ca636ae772bef04bb7f8ff7f899ad000f6c051 (diff) | |
download | ruby-05b9b42918868a0a355a5cf9ce0d92baf4236328.tar.gz |
* encoding.c (rb_enc_check_str): add for performance.
This function only accept T_STRING (and T_REGEXP).
This patch improves performance of a tiny_segmenter benchmark
(num=2) 2.54sec -> 2.42sec on my machine.
https://github.com/chezou/TinySegmenter.jl/blob/master/benchmark/benchmark.rb
* encoding.c: add ENC_DEBUG and ENC_ASSERT() macros.
* internal.h: add a decl. of rb_enc_check_str().
* string.c (rb_str_plus): use rb_enc_check_str().
* string.c (rb_str_subpat_set): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52350 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'internal.h')
-rw-r--r-- | internal.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/internal.h b/internal.h index 8b63f2cb48..a5ac89fbe9 100644 --- a/internal.h +++ b/internal.h @@ -716,6 +716,7 @@ void Init_ext(void); ID rb_id_encoding(void); void rb_gc_mark_encodings(void); rb_encoding *rb_enc_get_from_index(int index); +rb_encoding *rb_enc_check_str(VALUE str1, VALUE str2); int rb_encdb_replicate(const char *alias, const char *orig); int rb_encdb_alias(const char *alias, const char *orig); int rb_encdb_dummy(const char *name); |