[ruby-core:125269] [Ruby Misc#22000] Requesting to be a co-maintainer of ostruct
Issue #22000 has been reported by Eregon (Benoit Daloze). ---------------------------------------- Misc #22000: Requesting to be a co-maintainer of ostruct https://bugs.ruby-lang.org/issues/22000 * Author: Eregon (Benoit Daloze) * Status: Open ---------------------------------------- I would like to become a co-maintainer of the `ostruct` gem (OpenStruct class). I know currently @marcandre is the maintainer of `ostruct` but he seems less active recently (e.g. [open PRs](https://github.com/ruby/ostruct/pulls)) and I would like to become co-maintainer. My particular interest in `ostruct` is that I would like to fix the performance, the current implementation calls `define_singleton_method` for every `ostruct.foo` which is extremely inefficient for all Ruby implementations and all JITs. This has led to basically deprecating `OpenStruct` in its documentation and in some RuboCop rules. However a much faster and simpler implementation would be to rely on `method_missing` which [I have explored in the past](https://github.com/ruby/ostruct/issues/51). This speeds up reading OpenStruct attributes by 6.6x to 2096x. There are compatibility concern so this requires evaluating carefully what OpenStruct subclasses do and might require bumping the major version. I would love to get @marcandre 's opinion on this request but I'm not sure when he will see this. -- https://bugs.ruby-lang.org/
Issue #22000 has been updated by marcandre (Marc-Andre Lafortune). Eregon (Benoit Daloze) wrote:
There are compatibility concern so this requires evaluating carefully what OpenStruct subclasses do and might require bumping the major version.
Agreed it would require bumping a major version. Ideally this would encompass all existing requests (e.g. `include?` #74) that affect compatibility too.
I would love to get @marcandre 's opinion on this request but I'm not sure when he will see this.
I'm in favor 👍 ---------------------------------------- Misc #22000: Requesting to be a co-maintainer of ostruct https://bugs.ruby-lang.org/issues/22000#change-117027 * Author: Eregon (Benoit Daloze) * Status: Open ---------------------------------------- I would like to become a co-maintainer of the `ostruct` gem (OpenStruct class). I know currently @marcandre is the maintainer of `ostruct` but he seems less active recently (e.g. [open PRs](https://github.com/ruby/ostruct/pulls)) and I would like to become co-maintainer. My particular interest in `ostruct` is that I would like to fix the performance, the current implementation calls `define_singleton_method` for every `ostruct.foo` which is extremely inefficient for all Ruby implementations and all JITs. This has led to basically deprecating `OpenStruct` in its documentation and in some RuboCop rules. However a much faster and simpler implementation would be to rely on `method_missing` which [I have explored in the past](https://github.com/ruby/ostruct/issues/51). This speeds up reading OpenStruct attributes by 6.6x to 2096x. There are compatibility concern so this requires evaluating carefully what OpenStruct subclasses do and might require bumping the major version. I would love to get @marcandre 's opinion on this request but I'm not sure when he will see this. -- https://bugs.ruby-lang.org/
participants (2)
-
Eregon (Benoit Daloze) -
marcandre (Marc-Andre Lafortune)