Project

General

Profile

Feature #16029

Expose fstring related APIs to C-extensions

Added by byroot (Jean Boussier) about 1 year ago. Updated 15 days ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:94064]

Description

As discussed with @tenderlove here: https://github.com/ruby/ruby/pull/2287#issuecomment-513865160

We'd like to update various data format parsers (JSON, MessagePack, etc) to add the possibility to deduplicate strings while parsing.

But unfortunately the rb_fstring_* family of functions isn't available to C-extensions, so the only available fallback is rb_funcall(str, rb_intern("-@")) which most parsers will likely consider too slow. So the various rb_fstring_* functions would need to be public.

Proposed patch: https://github.com/ruby/ruby/pull/2299


Related issues

Is duplicate of Ruby master - Feature #13381: [PATCH] Expose rb_fstring and its family to C extensionsAssignedActions

Also available in: Atom PDF