Skip to content

Add benchmark to stress specialization by doing different specialization on different threads. #1

Open
@markshannon

Description

@markshannon

Take this fib function:

def fib (n, one):
    if  n <= 1:
        return one
    return fib(n-1, one) + fib(n-2, one)

Call fib(20, 1) on one thread, and fib(20, 1.0) on another.
Maybe use something other than fibonacci, but you get the idea.

With a GIL the specialization will flip-flop, but will be mostly correctly specialized as since the tier 1 interpreter is adaptive.
This will be a challenge for NoGIL, however.
In theory the tier 2 optimizer should work with NoGIL, but this should tell us if it doesn't.

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