[mapguide-users] Differences between PUBLISHED_API and INTERNAL_API

Benoit Bégin bbegin at indixio.com
Mon Apr 22 05:46:12 PDT 2024


Hi Jackie,

I'll be totally honest, the name fooled me! I figured they'd be helper functions to hit up the mapagent.fcgi. I never really explored the "OSGeo.MapGuide.Web" objects and I've been working with Mapguide code for a while now!  Thanks a lot for your super valuable input.

I will definitely give this class a whirl. At the end of the day, if I code things properly, then nobody would care or even know if I'm declaring an MgMap, MgSelection and an MgRenderingService, or just calling up MgHttpRequest. As you said, it might even end up being a bit more efficient to do so.

I did a bit more formal benchmarks of the various API calls and the FastCGI component is ... fast. I built 3 apps, a console app that uses an HttpClient to hit up the mapagent.fcgi, a console app that uses the Mapguide API and a client/service gRPC app. The FastCGI is nearly as fast as as a console app, even with the http call and response. Which was a bit wild to me! I'll have to make a 4th to the list with MgHttpRequest!

The performance hit of using Mg* classes isn't too bad. Although there is a big hit when .NET "JITs" the classes the first time around. On something as silly as creating a session, the very first time you call up new on MgSiteConnection and MgUserInformation, you'll lose up to 60ms on the very first call. After that, it's 0ms. It did make my benchmarking be all over the map though!

Thanks again for your reply. Much appreciated!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapguide-users/attachments/20240422/98734571/attachment.htm>


More information about the mapguide-users mailing list