From: "byroot (Jean Boussier)" Date: 2022-07-12T14:49:09+00:00 Subject: [ruby-core:109191] [Ruby master Misc#18836] DevMeeting-2022-07-21 Issue #18836 has been updated by byroot (Jean Boussier). - [Feature #18885] Long lived fork advisory API (potential Copy on Write optimizations) (byroot) - We have some ideas how to improve CoW performance, but we'd need a Ruby side API to notify the Virtual Machine that we're done loading code. - Something like `RubyVM.prepare` - Would mostly be useful for forking setups, but could be useful for other long lived programs. - Currently gems like `nakayoshi_fork` decorate the `Process.fork` method to know that, but it's not always a good assumption. - [Feature #18559] Allocation tracing: Objects created during compilation are attributed to Kernel.require - When tracing allocations, all internal objects created during compilation are attributed to `Kernel.require` or `ISeq.load_from_binary` - This make it impossible to track down where most of the memory usage of an app comes from. - Ideally you'd want to insert a frame before compilation, except you need an ISeq to create frame, so there is a chicken and egg problem. - Instead I think we should handle this special case ad hoc with an override: https://github.com/ruby/ruby/pull/6057 - [Feature #18822] Ruby lack a proper method to percent-encode strings for URIs (RFC 3986) - `URI.escape` was RFC 3986 compliant but was remove in 3.0 - `ERB::Util.url_encode` still exist, but it's very slow compared to `CGI.escape` - All other methods use `+` for spaces, which isn't RFC 3986 compliant. - I propose: - `CGI.url_encode(" ") # => "%20"` - Or `CGI.encode_url`. - Alias `CGI.escape` as `GCI.encode_www_form_component` - Clarify the documentation of `CGI.escape`. ---------------------------------------- Misc #18836: DevMeeting-2022-07-21 https://bugs.ruby-lang.org/issues/18836#change-98332 * Author: mame (Yusuke Endoh) * Status: Open * Priority: Normal ---------------------------------------- # The next dev meeting **Date: 2022/07/21 13:00-17:00** (JST) Log: *TBD* - Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bug tracker. - Dev meeting is a place we can ask Matz, nobu, nurse and other developers directly. - Matz is a very busy person. Take this opportunity to ask him. If you can not attend, other attendees can ask instead of you (if attendees can understand your issue). - We will write a record of the discussion in the file or to each ticket in English. - All activities are best-effort (keep in mind that most of us are volunteer developers). - The date, time and place of the meeting are scheduled according to when/where we can reserve Matz's time. - *DO NOT* discuss then on this ticket, please. # Call for agenda items If you have a ticket that you want matz and committers to discuss, please post it into this ticket in the following format: ``` * [Ticket ref] Ticket title (your name) * Comment (A summary of the ticket, why you put this ticket here, what point should be discussed, etc.) ``` Example: ``` * [Feature #14609] `Kernel#p` without args shows the receiver (ko1) * I feel this feature is very useful and some people say :+1: so let discuss this feature. ``` - It is recommended to add a comment by 2022/07/18. We hold a preparatory meeting to create an agenda a few days before the dev-meeting. - The format is strict. We'll use [this script to automatically create an markdown-style agenda](https://gist.github.com/mame/b0390509ce1491b43610b9ebb665eb86). We may ignore a comment that does not follow the format. - Your comment is mandatory. We cannot read all discussion of the ticket in a limited time. We appreciate it if you could write a short summary and update from a previous discussion. -- https://bugs.ruby-lang.org/ Unsubscribe: