summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2019-07-19 16:24:14 +0900
committerKoichi Sasada <ko1@atdot.net>2019-07-19 16:24:14 +0900
commitfba3e76e3fded3534a34b21412c17af2b02a5f3d (patch)
tree23c604353484ac3c7e291dc52436ea2ecb159fdb /gc.c
parentae750799c1b28b06d02e50cd26450b9903516526 (diff)
fix debug counter for Hash counts.
Change debug_counters for Hash object counts: * obj_hash_under4 (1-3) -> obj_hash_1_4 (1-4) * obj_hash_ge4 (4-7) -> obj_hash_5_8 (5-8) * obj_hash_ge8 (>=8) -> obj_hash_g8 (> 8) For example on rdoc benchmark: [RUBY_DEBUG_COUNTER] obj_hash_empty 554,900 [RUBY_DEBUG_COUNTER] obj_hash_under4 572,998 [RUBY_DEBUG_COUNTER] obj_hash_ge4 1,825 [RUBY_DEBUG_COUNTER] obj_hash_ge8 2,344 [RUBY_DEBUG_COUNTER] obj_hash_empty 553,097 [RUBY_DEBUG_COUNTER] obj_hash_1_4 571,880 [RUBY_DEBUG_COUNTER] obj_hash_5_8 982 [RUBY_DEBUG_COUNTER] obj_hash_g8 2,189
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gc.c b/gc.c
index 060e1ed48b..df48bc1269 100644
--- a/gc.c
+++ b/gc.c
@@ -2410,14 +2410,14 @@ obj_free(rb_objspace_t *objspace, VALUE obj)
break;
case T_HASH:
#if USE_DEBUG_COUNTER
- if (RHASH_SIZE(obj) >= 8) {
- RB_DEBUG_COUNTER_INC(obj_hash_ge8);
+ if (RHASH_SIZE(obj) > 8) {
+ RB_DEBUG_COUNTER_INC(obj_hash_g8);
}
- else if (RHASH_SIZE(obj) >= 4) {
- RB_DEBUG_COUNTER_INC(obj_hash_ge4);
+ else if (RHASH_SIZE(obj) > 4) {
+ RB_DEBUG_COUNTER_INC(obj_hash_5_8);
}
- else if (RHASH_SIZE(obj) >= 1) {
- RB_DEBUG_COUNTER_INC(obj_hash_under4);
+ else if (RHASH_SIZE(obj) > 0) {
+ RB_DEBUG_COUNTER_INC(obj_hash_1_4);
}
else {
RB_DEBUG_COUNTER_INC(obj_hash_empty);