From 05b9b42918868a0a355a5cf9ce0d92baf4236328 Mon Sep 17 00:00:00 2001 From: ko1 Date: Thu, 29 Oct 2015 09:10:32 +0000 Subject: * 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 --- internal.h | 1 + 1 file changed, 1 insertion(+) (limited to 'internal.h') 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); -- cgit v1.2.3