Based on a few tests, it looks like the Configuration API is at twice as fast as the ConfigurationItems API (for example listing 150 cameras takes 4 seconds with the Configuration API but 7 with the ConfigurationItems API).
Is this only for listing items or is it an overall “by design” latency when using the ConfigurationItems API?
Your ConfigurationAPICameras are not using our configuration API, but instead the SDK configuration structure. This structure will in many cases be loaded upon login and thus most likely is already loaded before you run your time measurements. Thus this part of your test is more or less entirely read from memory.
So the comparison is not really ‘fair’ as one is making a lot of requests towards the server during the measurements, whereas the other has done it before measurements are started.
Can you clarify what you mean that this example is not using the configuration API? Can you show an example of using the configuration API?
Does this mean that there are 3 (!) ways of accessing the cameras? One with the ConfigurationItems API, one with the Configuration API (that I don’t know of), and one with the “Configuration SDK Structure API” with Item and GetChildren()?
ConfigurationItems is not an API as such, but a namespace containing a large number of classes. It is basically a direct pass-through class interface on top of the Configuration API and thus we were a bit puzzled that you claimed to see significant differences between this and the Configuration API. You can see the classes in the namespace here:
Finally the VideoOS.Platform.Configuration class is the original MIP SDK representation of the configuration. Opposite to the two above it can mainly be used for reading configuration, not changing it, and in most cases the SDK will load the entire configuration after login and thus have it available in memory when you do queries on it. So after initial load this will surely be the fastest, but on large systems you might experience quite an overhead in the initial loading - especially if you don’t need to read the entire configuraton.