Skip to content

[Performance] Performance regression in SplitToSequence operator between v1.18.0 and v1.19.0 #26954

@junghyunpark2001

Description

@junghyunpark2001

Describe the issue

Description

We observed a performance regression in the SplitToSequence operator between ONNXRuntime v1.18.0 and v1.19.0.

Affected Operator

SplitToSequence

  • Opset Version: 13
  • Data Type: int64
  • Regression: >10% slowdown
  • Culprit Commit: 08ecf30e (confirmed via git bisect)

Test Case Details

SplitToSequence (int64, 2D tensor)

Input:

  • Name: input
  • Shape: [64, 56] (2D tensor)
  • Data type: int64
  • Total elements: 3,584

Output:

  • Name: output
  • Type: Sequence of tensors
  • Element type: int64

Attributes:

  • Default split (no explicit axis or split attribute specified)

Performance:

  • v1.18.0: baseline
  • v1.19.0: +17% slower

Regression Magnitude

  • SplitToSequence (int64): +17% slowdown

Culprit Commit

Git bisect identified the regression-introducing commit:

  • Commit: 08ecf30e
  • Version Range: v1.18.0 → v1.19.0

Additional Context

  • The same commit (08ecf30e) also caused regression in Add operator (float16)
  • This suggests a common change affecting multiple operators
  • SplitToSequence is a relatively uncommon operator that splits tensors into sequences
  • The test case uses int64 data type with 2D input

To reproduce

To Reproduce

  1. Download and unzip test.zip

  2. Run benchmark:

    python script.py ./splittosequence 1.18.0 1.19.0  # Expected: +17% regression
  3. Compare the reported latencies between the two versions.

test.zip

Urgency

No response

Platform

Linux

OS Version

Ubuntu 24.04.3 LTS

ONNX Runtime Installation

Released Package

ONNX Runtime Version or Commit ID

08ecf30

ONNX Runtime API

Python

Architecture

X64

Execution Provider

Default CPU

Execution Provider Library Version

No response

Model File

No response

Is this a quantized model?

No

Metadata

Metadata

Assignees

No one assigned

    Labels

    performanceissues related to performance regressions

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions