Noticing a major slowdown in Cost Distance function following version change

962
5
06-27-2019 10:10 AM
DavidBucklin
New Contributor

I recently upgraded ArcGIS Pro from version 2.0 -> version 2.3.3, running on Windows 7. I have a python script that runs a Cost Distance analysis for each group of features in a large feature class. With version 2.0, each Cost Distance run would consistently take about 20s . After upgrade to version 2.3.3, the same exact process (same script/data) would take 3 to 4 times longer to run (over 70s each). I've noticed the slowness in both the python script and running the geoprocessing tool in ArcGIS Pro.

I originally thought the slowdown could have been related to Parallel Processing functionality, so I also tested both with no parallel processing: 

arcpy.env.parallelProcessingFactor = "0"

and with 100%:

arcpy.env.parallelProcessingFactor = "100%"

along with the default value. This didn't seem to be related to the slowdown, since default and "100%" options were generally even slower, and in some cases the "100%" option would cause the script to hang indefinitely.

Anyone noticed the same issue, or have ideas what might be happening here? I'm wondering if a change to the Cost Distance function between versions can explain this(?)

Tags (1)
0 Kudos
5 Replies
DanPatterson_Retired
MVP Emeritus

No changes, but I think Windows 7 support for now (or did) require

Windows 7 Ultimate, Professional, and Enterprise (64 bit)*

January 8, 2019 update

And the additional warning

ArcGIS products will not be supported on Windows 7 or Windows Server 2008 R2 after January 2020 due to Microsoft’s extended support for Windows 7 and Windows Server 2008 R2 ending on January 14, 2020. Esri highly recommends you plan to move to a later version of Windows well before the January 14, 2020 date.

I would have a look at Can You Run it 

ArcGIS Pro 2.4 system requirements—ArcGIS Pro | ArcGIS Desktop 

Could be the arcmap and/or pro is outpacing the hardware/software combination you have.

PS  minimum requirement... not   Recommended .... hmmmm I would consider it the minimum especially for video and cpu ram

0 Kudos
DavidBucklin
New Contributor

Thanks for the heads-up on the Windows 7 support.

This is a 6-core (12 thread) desktop with 32 GB RAM and it exceeds the Can You Run it minimum requirements. I also have a Windows 10 laptop with ArcGIS Pro 2.3.3, and noticed similar slow performance (slightly slower than the desktop). Though I never had Pro 2.0.0 on the laptop, so I don't know the baseline for that version.

0 Kudos
ElizabethGraham
Esri Contributor

Hi David,

My name is Liz Graham and I'm a Product Engineer on the Spatial Analyst team.  I'd like to figure out why you are seeing a slowdown in performance of the Cost Distance tool.

One change we made to Cost Distance between 2.0 and 2.3.3 is what is used as the default environment settings when running this tool. For example, in 2.0 the default Extent was set to the input Source dataset and in 2.3.3 the default Extent is set to the extent of the Cost Raster.

When you run Cost Distance, in both 2.0 and 2.3.3, and you explicitly setting your Extent, Cell Size, Snap Raster and Spatial Reference? 

If you determine that using different environment settings, and thus creating a lager raster, is not the cause of the slow down then would you please share your data with me so I can investigate further?

Thanks,

Liz Graham

egraham@esri.com

DavidBucklin
New Contributor

Hi Liz,

Yes, I have always set all of those environment settings in my script. In my script (and in further testing I've done), 'extent' environment setting is set to a buffered version of the input feature source points. I am also specifying a maximum distance in the Cost Distance function.

I can share the data I've been testing with, how should I get that to you?

David

0 Kudos
ElizabethGraham
Esri Contributor

Hi David, 

Glad to hear that you are using the environments!

If you email me, egraham@esri.com, I will send you a link to a file share so you can share your data.  Then I'll investigate the performance issue and submit a reproducible case to a developer to try and resolve the problem.

Thank you,

Liz

0 Kudos