Skip to content

patching MacOS performance#684

Merged
TysonRayJones merged 4 commits into
develfrom
clang-performance-patch
Sep 16, 2025
Merged

patching MacOS performance#684
TysonRayJones merged 4 commits into
develfrom
clang-performance-patch

Conversation

@TysonRayJones
Copy link
Copy Markdown
Member

as per #638

since the std::complex performance issue was seen in other compilers too, grr!
@TysonRayJones
Copy link
Copy Markdown
Member Author

The below quick-and-dirty script did not reveal an accuracy difference when using -Ofast in Clang:

int main() {
    initQuESTEnv();
    setMaxNumReportedSigFigs(20);

    // start in |+>
    Qureg qureg = createQureg(20);
    initPlusState(qureg);

    qreal angle = 0.3;

    // repeatedly effect R(a)R(-a) = I
    for (int q=0; q<qureg.numQubits; q++) {
        applyRotateX(qureg, q,   angle);
        applyRotateX(qureg, q, - angle);
    }

    // we should return to |+> with prob=0.5
    qreal prob = calcProbOfQubitOutcome(qureg, 0, 0);
    reportScalar("prob", prob);

    destroyQureg(qureg);
    finalizeQuESTEnv();
    return 0;
}


// -Ofast: prob = 0.49999999999999994449
// else:   prob = 0.49999999999999994449 (unchanged!)

@TysonRayJones TysonRayJones merged commit 60f9b3a into devel Sep 16, 2025
130 checks passed
@TysonRayJones TysonRayJones deleted the clang-performance-patch branch September 16, 2025 00:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant