[ruby-core:80451] [Ruby trunk Feature#13381] [PATCH] Expose rb_fstring and its family to C extensions

From: rubygems@...
Date: 2017-03-29 06:32:57 UTC
List: ruby-core #80451
Issue #13381 has been updated by eagletmt (Kohei Suzuki).


OK, I've read comments of #13077.

What do you think of renaming fstring to "deduped" string? "Deduped" strings are implicitly frozen.

- Rename `rb_fstring` to `rb_str_deduped`
- Rename `rb_fstring_new` to `rb_str_deduped_new`
- Rename `rb_fstring_cstr` to `rb_str_deduped_cstr`
- Rename `rb_fstring_enc_new` to `rb_enc_str_deduped_new`
- Rename `rb_fstring_enc_cstr` to `rb_enc_str_deduped_cstr`
    - I think `enc` should come first for consistency

----------------------------------------
Feature #13381: [PATCH] Expose rb_fstring and its family to C extensions
https://bugs.ruby-lang.org/issues/13381#change-63942

* Author: eagletmt (Kohei Suzuki)
* Status: Feedback
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
https://github.com/ruby/ruby/pull/1559

Currently, C extensions cannot use fstrings. I'd like to use
`rb_fstring_cstr` instead of `rb_str_new_cstr` for static strings in C
extensions to avoid excess allocation.

I think there's several use cases.

- https://github.com/k0kubun/hamlit/blob/v2.8.0/ext/hamlit/hamlit.c#L508-L512
- https://bitbucket.org/ged/ruby-pg/src/e5eb92cca97abc0c6fc168acfad993c2ad314589/ext/pg_connection.c?at=v0.20.0&fileviewer=file-view-default#pg_connection.c-3679
- https://bitbucket.org/ged/ruby-pg/src/e5eb92cca97abc0c6fc168acfad993c2ad314589/ext/pg_copy_coder.c?at=v0.20.0&fileviewer=file-view-default#pg_copy_coder.c-38



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next