Skip to content

PERF: regression in Series constructor #30564

Closed
@TomAugspurger

Description

@TomAugspurger

This is captured in the SeriesConstructor.time_constructor asv.

In [8]: import pandas as pd
   ...: import numpy as np
   ...:
   ...: data = np.arange(1000)
   ...: index = pd.date_range('2000', periods=len(data))
   ...: data = dict(zip(index, data))
   ...: s = pd.Series(data, index=index)

On master

848 ms ± 10.2 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

On 0.25.x

   ...: %timeit Series(data, index=index)
82.5 ms ± 2.05 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)

Looking into a bit now. We're spending a lot more time in ensure_index -> is_period_dtype / is_dtype / construct_from_string.

Metadata

Metadata

Assignees

No one assigned

    Labels

    PerformanceMemory or execution speed performance

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions