Skip to content

Get rid of the Access protocol #2973

@josevalim

Description

@josevalim

foo[...] should use the Dict API instead.

Because the Access protocol relies on the code server in development and test mode (when protocol consolidation is not applied), we have heard multiple reports of the system suffering greatly in performance as the code server becomes a bottleneck with multiple processes. This happens because the Access protocol ends up being invoked thousands of times and there isn't much we can do to improve it (in contrast to the Enumerable protocol where most of the list cases are inlined).

The decision has then become to limit the scope of the Access protocol to work only with dictionaries (i.e. entities that implement the Dict behaviour).

Since we are treating this as a performance bug, v1.1 will include a deprecation to the Access protocol (but they will still work). The implication is that we will need to add get_and_update to the Dict API.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions