Parallel Processing Loop With Delphi XE5 Firemonkey On Android And IOS

Delphi XE5 Firemonkey Parallel Processing LoopI found an example over on StackOverflow showing how to do a parallel processing loop using Delphi XE5 Firemonkey. On dual and quad core devices it will create a thread for each CPU and then using a for loop it will process each iteration of the loop in a different thread using an anonymous method. Theoretically you could achieve a performance gain by using parallel processing in this fashion. However, the comments under the code on StackOverflow also point out some performance flaws with this method including that it does not use pooled threads. I had to tweak the original code just a bit to get it working cross platform. It runs on Windows and Android now (and probably IOS and OSX). I have included a demo application which shows the usage of the parallel loop. I also included the Android thread patch in the demo if you need to use a TBitmap in the loop.

The demo takes a TMemo with some text in it and places the text in two different TMemo components depending on which thread is running the loop. The ThreadId that places it in the new memo is prepended to the text string. I included support in the demo for up to 24 threads as I figured that should cover most multicore CPUs for awhile. It also does some meaningless work in the threads (with Random()) to slow down the loop. Here is the example of using the ParallelFor() loop from the demo:

Download the Parallel Processing Loop Demo and TParallel unit.

Head over and read the full question and answer on StackOverflow about the parallel loop.

Have Delphi Firemonkey questions? Ask and get answers on StackOverflow.

Parallel Processing Loop With Delphi XE5 Firemonkey On Android And IOS by Delphi XE5 XE6 XE7 XE8 10 Seattle Berlin Firemonkey, Delphi Android, Delphi IOS is licensed under a Creative Commons Attribution 4.0 International License.

2 Responses to Parallel Processing Loop With Delphi XE5 Firemonkey On Android And IOS

  1. Pingback: What’s New Roundup For Delphi XE7 Firemonkey On Android, Windows, OSX, And IOS | Delphi XE5 XE6 XE7 Firemonkey, Delphi Android, Delphi IOS

  2. Pingback: Fast Threaded Parallel For Loop In Delphi XE7 Firemonkey On Android, IOS, Windows, And OSX | Delphi XE5 XE6 XE7 Firemonkey, Delphi Android, Delphi IOS

Leave a Reply

Show Buttons
Hide Buttons
Read previous post:
Delphi XE5 Firemonkey Appmethod Cloud High Score System
Build A Cloud Based High Score System With Firemonkey On Android And IOS

Sarina Dupont from Embarcadero has a tutorial up which shows how to build a cloud based high score system using...

Close