closer changed the topic of #ruby-core to: check the latest release candidate for 1.9.1 release ftp.ruby-lang.org:/home/yugui/ruby-1.9.1-r26021+1.tar.bz2
kapil___ has quit [Quit: Connection closed for inactivity]
travis-ci has joined #ruby-core
<travis-ci> The build is still failing. by @usa: See https://travis-ci.org/ruby/ruby/builds/269058715
travis-ci has left #ruby-core [#ruby-core]
<znz_jp> biff: [ruby-changes:47555] glass:r59671 (trunk): lib/csv.rb: refactor and optimize. This change - http://mla.n-z.jp/?ruby-changes=47555
travis-ci has joined #ruby-core
<travis-ci> The build was broken. by @glass: See https://travis-ci.org/ruby/ruby/builds/269095012
travis-ci has left #ruby-core [#ruby-core]
<znz_jp> biff: [ruby-changes:47556] hsbt:r59672 (trunk): Merge rubygems-2.6.13. - http://mla.n-z.jp/?ruby-changes=47556
travis-ci has joined #ruby-core
<travis-ci> The build was fixed. by @hsbt: See https://travis-ci.org/ruby/ruby/builds/269105114
travis-ci has left #ruby-core [#ruby-core]
_whitelogger has joined #ruby-core
<znz_jp> biff: [ruby-changes:47557] glass:r59673 (trunk): string.c: fix potential bug in String#split - http://mla.n-z.jp/?ruby-changes=47557
<znz_jp> biff: [ruby-changes:47558] kazu:r59674 (trunk): [DOC] Fix typo in rdoc of `transform_values!` [ci skip] - http://mla.n-z.jp/?ruby-changes=47558
kapil___ has joined #ruby-core
<znz_jp> biff: [ruby-changes:47559] nobu:r59675 (trunk): compile.c: compile_if - http://mla.n-z.jp/?ruby-changes=47559
<znz_jp> biff: [ruby-changes:47560] naruse:r59676 (trunk): Increase STACKFRAME_FOR_CALL_CFUNC - http://mla.n-z.jp/?ruby-changes=47560
<znz_jp> biff: [ruby-changes:47561] svn:r59677 (trunk): * 2017-08-29 - http://mla.n-z.jp/?ruby-changes=47561
kapil___ has quit [Quit: Connection closed for inactivity]
kapil___ has joined #ruby-core
tenderlo_ has joined #ruby-core
jashmatthews has joined #ruby-core
<tenderlo_> jashmatthews: hello!
tenderlo_ is now known as tenderlove
<jashmatthews> Hey! Wow, I have not used IRC in about 10 years. I feel like such a noob
<tenderlove> hahaha
<tenderlove> we can switch to Slack, I just don't know how to invite people
<jashmatthews> all good
<tenderlove> so you're just measuring with GC.stat and /proc?
<jashmatthews> yeah
<tenderlove> hmmmm
<tenderlove> not sure if I can access /proc on our production hosts
<tenderlove> so the way I've been measuring is by logging all malloc call, and their stack traces
<tenderlove> for a basic Rails app, I was only seeing like 18% (or so) of the mallocs go to heap pages
<tenderlove> For GitHub, it was like 30%, but that's because we increase the heap size at boot
<jashmatthews> does it matter that direct malloc is malloced and freed
<tenderlove> the book keeping takes care of that
<tenderlove> it logs all malloc / free
<tenderlove> hmmmm
<tenderlove> what are you looking at in /proc
<tenderlove> smaps?
<jashmatthews> yeah
<jashmatthews> just to measure SharedClean and Dirty
<jashmatthews> I'm using RSS for the total memory to work out Ruby heap vs total heap
<tenderlove> huh
<tenderlove> what kind of increases did you see in SharedClean?
<jashmatthews> almost nothing! but SharedDirty stopped dropping by ~85MB
<tenderlove> huh
<tenderlove> trying to get GC stats from our prod boxes
<tenderlove> annoying
<tenderlove> I can't get to SharedDirty
<tenderlove> I need to ask ops people
<tenderlove> ugh
<tenderlove> jashmatthews: I'll have to get back to you. But I'd like to compare our stats with yours (and measure the same thing)
<jashmatthews> no problem!
<jashmatthews> I wonder if anyone has published GC.stats in blog posts
<jashmatthews> maybe Discourse or someone like that?
<jashmatthews> GC Stats: count : 114, heap_used : 4283, heap_length : 4312, heap_increment : 0, heap_live_num : 459148, heap_free_num : 1283203, heap_final_num : 0, total_allocated_object : 6292870, total_freed_object : 5833722
<jashmatthews> this was my proof of concept
<tenderlove> nice!
<jashmatthews> but I'm not sure it actually works
<jashmatthews> I think it might still be allocating into existing pages
<jashmatthews> just allocating later in the heap, into less full pages
<jashmatthews> it's just a horrible hack really
<jashmatthews> now I'm trying to figure out how to swap to a fresh heap after forking
<jashmatthews> but getting all the GC stuff to work properly is a nightmare
<jashmatthews> if I turn this CoW barrier on then fork
<jashmatthews> I see this
<jashmatthews> before trying to fill the slots: {:count=>49, :heap_allocated_pages=>2381, :heap_sorted_length=>4273, :heap_allocatable_pages=>1888, :heap_available_slots=>970492, :heap_live_slots=>690935, :heap_free_slots=>279557, :heap_final_slots=>0, :heap_marked_slots=>690934, :heap_swept_slots=>1049862, :heap_eden_pages=>2381, :heap_tomb_pages=>0, :total_allocated_pages=>2384, :total_freed_pages=>3, :total_allocated_objects=>4444515, :total
<jashmatthews> _freed_objects=>3753580, :malloc_increase_bytes=>1104, :malloc_increase_bytes_limit=>26868640, :minor_gc_count=>35, :major_gc_count=>14, :remembered_wb_unprotected_objects=>18383, :remembered_wb_unprotected_objects_limit=>36766, :old_objects=>654985, :old_objects_limit=>1309970, :oldmalloc_increase_bytes=>1552, :oldmalloc_increase_bytes_limit=>25743200}
<jashmatthews> after "filling" the slots but getting blocked by the barrier
<jashmatthews> {:count=>49, :heap_allocated_pages=>3068, :heap_sorted_length=>4273, :heap_allocatable_pages=>1201, :heap_available_slots=>1250516, :heap_live_slots=>970997, :heap_free_slots=>279519, :heap_final_slots=>0, :heap_marked_slots=>690934, :heap_swept_slots=>1049862, :heap_eden_pages=>3068, :heap_tomb_pages=>0, :total_allocated_pages=>3071, :total_freed_pages=>3, :total_allocated_objects=>4724577, :total_freed_objects=>3753580, :malloc
<jashmatthews> _increase_bytes=>2305992, :malloc_increase_bytes_limit=>26868640, :minor_gc_count=>35, :major_gc_count=>14, :remembered_wb_unprotected_objects=>18383, :remembered_wb_unprotected_objects_limit=>36766, :old_objects=>654985, :old_objects_limit=>1309970, :oldmalloc_increase_bytes=>2306440, :oldmalloc_increase_bytes_limit=>25743200}
<jashmatthews> free slots basically stayed the same, which is what I'd expected
<jashmatthews> but I thought empty pages were in heap_tomb?
<jashmatthews> what's a heap_allocatable_page vs heap_allocated_page?
<jashmatthews> is an allocated page full?
<jashmatthews> eden_pages went up
<jashmatthews> I don't get it
<jashmatthews> did I force Ruby to allocate memory without running GC?
jashmatthews has quit [Remote host closed the connection]
unreal has joined #ruby-core
charliesome has joined #ruby-core
charliesome has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<znz_jp> biff: [ruby-changes:47562] nobu:r59678 (trunk): win32.c: fix function pointer - http://mla.n-z.jp/?ruby-changes=47562