SPSS Statistics

SPSS Statistics

Your hub for statistical analysis, data management, and data documentation. Connect, learn, and share with your peers! 

 View Only
  • 1.  Why SPSS 29 computes so much slower than older versions?

    Posted Mon December 18, 2023 01:31 PM
    Edited by Kirill Orlov Mon December 18, 2023 08:22 PM

    I've had an opportunity to run the same code (a big SPSS macro of mine extensively using MATRIX syntax and random number generation) on SPSS 29 (Subscription), SPSS 26 and SPSS 22. On the same machine (Intel Core i9, 64 Gb RAM, Windows 11). While versions 26 and 22 did not differ any considerably in time spent, version 29 showed to be 1.69 times slower! This is an astonishing difference; imagine - it is almost as if I'm back on processor i5 instead of i9. What's wrong with version 29. Can it be speeded up? Or am I mistaken somehow?



    ------------------------------
    Kirill Orlov
    ------------------------------



  • 2.  RE: Why SPSS 29 computes so much slower than older versions?

    Posted Tue December 19, 2023 04:41 PM

    Hi @Kirill Orlov

    Please open a support case, and let's get your replication scenario in front of a developer.



    ------------------------------
    David Dwyer
    SPSS Technical Support
    IBM Software
    ------------------------------



  • 3.  RE: Why SPSS 29 computes so much slower than older versions?

    Posted Wed December 20, 2023 02:30 PM

    @David, thank you for the suggestion. But first I will attempt to track down the line(s) or function or other condition which is responsible for the slow down and then I'm back to here to report it.



    ------------------------------
    Kirill Orlov
    ------------------------------



  • 4.  RE: Why SPSS 29 computes so much slower than older versions?

    Posted Fri December 22, 2023 05:08 AM
    Edited by Kirill Orlov Sat December 23, 2023 02:29 PM

    Here is what I've tracked so far. The slow down - at least one of - of version 29 [29.0.2.0] (compared to version 26 [26.0.0.1]) shows up in this example.

    set mxloops 1E9.
    SET RNG=MT MTINDEX= 123456.

    *Compute projections of data x points onto the beams (from origin) of data y points.
    MATRIX.
    LOOP try= 1 to 300.
    *Generate two normal data clouds.
    comp x= sqrt(-2*ln(uniform(2000,5)))&*cos(6.28318530717959*uniform(2000,5)).
    comp y= sqrt(-2*ln(uniform(500,5)))&*cos(6.28318530717959*uniform(500,5)).
    *Compute angle cosins b\w carrier beams of every x point and y point.
    comp hx= sqrt(rssq(x)). /*Deviation of every x point
    comp hy= t(sqrt(rssq(y))). /*Deviation of every y point
    comp cosxy= x*t(y)/(hx*hy). /*The 2000*500 matrix of cosines
    comp flag= cosxy>=.001. /*Flag cosines above some arbitrary threshold
    *--I detect the slow down (about 1.38 times) emerges with this:.
    comp proj= hx*make(1,nrow(y),1) &* flag &* cosxy. /*For each flagged cosine,
         /*multiply it by the deviation of each x point and get
         /*the length of the projection of the x point onto the beam of the y point
    *--.
    END LOOP.
    print msum(proj).
    END MATRIX.

    @David Dwyer, can you pass it to the development?



    ------------------------------
    Kirill Orlov
    ------------------------------



  • 5.  RE: Why SPSS 29 computes so much slower than older versions?

    Posted Tue January 02, 2024 05:42 PM

    Hi @Kirill Orlov

    I've reported this issue to IBM SPSS Statistics Development as Known Issue DT257763
    Please follow this Known Issue.



    ------------------------------
    David Dwyer
    SPSS Technical Support
    IBM Software
    ------------------------------



  • 6.  RE: Why SPSS 29 computes so much slower than older versions?

    Posted Mon January 08, 2024 03:27 PM

    Hi @David Dwyer

    Please forward to the Development the following toy example as well. It is not unlike the above one and apparently nails the same Known Issue DT257763. So just hand it over to them, either. Thank you a lot.

    SET RNG=MT MTINDEX= 4593746534.
    set mxloops 1E9.
    matrix.
    comp x= uniform(1000,5)-.5.
    comp y= uniform(300,5)-.5.
    comp xy= x*t(y).
    comp hxhy= sqrt(rssq(x))*t(sqrt(rssq(y))).
    LOOP try= 1 to 1000. /*(Loop simply to linger the time)
    *The slow-down in vers 29 is associated with these two lines:.
    comp z= xy/hxhy.
    comp z= z&*(z>=0).
    END LOOP.
    end matrix.



    ------------------------------
    Kirill Orlov
    ------------------------------



  • 7.  RE: Why SPSS 29 computes so much slower than older versions?

    Posted Sun January 14, 2024 10:46 AM

    David, when you're back please do not miss my latest addition to this thread. Thank you.



    ------------------------------
    Kirill Orlov
    ------------------------------