If I wait long enough, it does work for me - I was expecting it to run more quickly in Panorama 6.0 so when it had taken over a minute, I assumed (wrongly) that it had bogged down.
It takes just over a minute on my new i5 iMac with 16GB of RAM. If I modify the problematic statement to use a simple deduplicate( function, it takes only 11 seconds. In Panorama X, the times are 5 seconds and 9 seconds.
I would be interested to get Jim’s take on why Panorama X is so much faster in this case.
I’m obviously not Jim, but I expect it’s due to the difference in the way that the arrayfilter( function is implemented. In Panorama X, arrayfilter( is a core function, written in Objective C. In Panorama 6, it’s a custom function that uses a call( function to call a procedure that builds the appropriate arrayfilter statement, and then executes it with an execute statement. Panorama X is just doing the arrayfilter(, while Panorama 6 needs to do a lot of other stuff before it can do the arrayfilter.