Skip to content

Use PERL_NO_GET_CONTEXT #560

Open
Open

Description

@mohawk2

This has been suggested as a way to get an easy performance win. It does involve making NGC suffixed versions of a number of "Core" API functions to preserve ABI.

Activity

  1. mohawk2 commented on Aug 23, 2026

    @mohawk2
    MemberAuthor

    To do this better, an analogue of the pdl_error being used to return exceptions will be needed to separate warnings from the Perl specifics. This can be done with storing warnings using another pdl_error stored in the pdl_trans object.

    Since that will be a single thing, it can be allocated when the pdl_trans is created, and the pointer to it stashed at the end of one of the blocks of pointers already allocated for the pdl_trans.

  2. mohawk2 commented on Aug 23, 2026

    @mohawk2
    MemberAuthor

    The RunFuncs will also need an additional parameter to return the warning data, since the pdl_trans is hidden inside them. Fortunately, they and their caller are compiled together, so there are no ABI implications.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions