Has anybody done performance benchmarks between C++, C#, and Java ArcGIS Server Object Extensions?
I'm wondering writing lower-level code translates to better performance.
Answer
The only benchmark I've come across is in a presentation (pg. 4) on using ArcObjects in Python.
The other language bindings are wrappers around the C++ com libraries. The associated overhead does impact performance, but it would depend on how you are using them.
If you are making many calls over and over again in the body of a loop then C++ will generally perform much faster. If you are using library calls to perform more general, less iterative operations then it may not matter much.
The benchmarking results from the presentation (500+K ShapeCopy calls, speed relative to C++):
- .NET - 48%
- Python - 32%
- Java - 16%
I can't speak to Java, but in my own personal experience with both .NET and Python, the numbers in the presentation weren't surprising and seem to be about right.
If the presentation is showing a white background, try downloading it and viewing it locally.
No comments:
Post a Comment