From: ko1@... Date: 2018-05-17T01:41:36+00:00 Subject: [ruby-core:87093] [Ruby trunk Feature#14767] [PATCH] gc.c: use monotonic counters for objspace_malloc_increase Issue #14767 has been updated by ko1 (Koichi Sasada). Honestly speaking, I forget the discussions :p The only one problem is, if we have a bug (and it can be. because nobody test malloc/free counts), the values grow into strange values. Now we reset them at GC time. What do you think about it? ---------------------------------------- Feature #14767: [PATCH] gc.c: use monotonic counters for objspace_malloc_increase https://bugs.ruby-lang.org/issues/14767#change-72060 * Author: normalperson (Eric Wong) * Status: Open * Priority: Normal * Assignee: ko1 (Koichi Sasada) * Target version: ---------------------------------------- gc.c: use monotonic counters for objspace_malloc_increase atomic_sub_nounderflow is expensive and objspace_malloc_increase was showing up near the top of some `perf` profiles. The new implementation allows the compiler to inline and eliminate some branches from objspace_malloc_increase. This consistently improves bm_so_count_words benchmark by around 10% on my hardware. name built so_count_words 1.107 We started this discussion back in [ruby-core:61508] https://public-inbox.org/ruby-core/5323FE11.3000908@atdot.net/ I may revisit non-atomic counters another day, but I think this patch is good for now since I haven't found a downside (running full benchmarks, will take a while) ---Files-------------------------------- 0001-gc.c-use-monotonic-counters-for-objspace_malloc_incr.patch (8.25 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: