IECS Mobile App Execution (Speed) Tests
On the previous two pages, we looked at the Inference Engine Component Suite (IECS) Advanced Console speed tests and the IECS Basic Console speed tests on Win32, Win64, and OSX. Our final IECS Speed tests are with the IECS Mobile app running on iOS and Android. The IECS Mobile app provides the simple GUI console for executing expert systems on iOS and Android. This app executes expert systems and can optionally send output to a TMemo. It is much closer to the Basic Console than to the Advanced Console so we expect to see similar performance patterns to the IECS Basic Console.
IECS Mobile App, FMX, iOS
Since Delphi XE4, Delphi has supported deploying to iOS devices. Note that the Delphi XE4 app was compiled with debug. Delphi XE5 and XE6 can deploy release versions directly to the device without requiring certificates. However, this was not true with Delphi XE4 but as we will see, it doesn’t seem to have slowed the app down. As with the Hello World Mobile App, we tested our mobile app on an iPod Touch.
Delphi XE6 makes a very good showing on iOS. It manages the fastest non-visual speed (no updates), being a 1/4 second faster than XE5 and over 2.5 seconds faster than XE4. With live updates turned on, Delphi XE6 puts in a respectable second place finish. Delphi XE4 dominates with live updates and finishes in 14.1 seconds compared to 18.2 seconds with XE6 and compared to the embarrassingly awful 50.3 seconds with XE5.
IECS Mobile App, FMX, Android
Since Delphi XE5, Delphi has supported deploying to Android devices. In Android, Delphi XE5 has to plead no contest again. While Delphi XE6 is only approximately 9% faster with no updates, once the TMemo is turned on, Delphi XE6 is twice as fast as Delphi XE5.
Coming up next week…
Well, that is it for this week. The three IECS test applications showed the strength of Delphi XE4 and Delphi XE6. In our final post, we are going to perform speed tests using the RiverSoftAVG SVG Component Library(RSCL). The RSCL will only test Delphi XE2 through XE6 and will concentrate on FMX. However, it renders SVG files using low-level canvas operations (gradients, paths, text, etc) and is available for VCL and FMX. It uses GDI+ for VCL (which is a software renderer with comparable features to the FMX TCanvas) so it should provide a good test of the FMX DirectX and OpenGL hardware-based rendering. The RSCL is also able to build SVGs using the FMX shape primitives (TRectangle, TPath, TText, etc); it should reveal any optimizations (or lack thereof) Embarcadero has been doing with the low-level primitives from which most FMX controls are built.
That’s it for this week. I hope you are finding these blog posts informative. Until next time, Happy CodeSmithing!