Other Next version - Performance improvements

Erel

B4X founder
Staff member
Licensed User
Longtime User
The next version of B4i (which is not far away) includes several significant performance improvements.

As demonstrated here the debugger can now optimize resumable subs in the same way that it optimizes other subs. This makes a huge difference when debugging projects with resumable subs. This improvement will also be applied to B4A and B4J.

It will also include runtime performance improvements that reduce the overhead of many common operations in release mode.
These improvements can make a huge difference with processor intensive tasks.

As an example you can see the difference in the number of drawings per second with BitmapCreator:

Current version:

Draw smilies from BitmapCreator (skip blending): 81,000 per second
Draw smilies from BitmapCreator (with blending): 700 per second

Next version:

Draw smilies from BitmapCreator (skip blending): 620,000 per second (7.5x)
Draw smilies from BitmapCreator (with blending): 20,700 per second (30x)

Note that BitmapCreator itself includes a few modifications to allow it to run as fast as possible with the new optimizations.

In this case the difference is very large. In most applications it will not be so dramatic however it will still help with building fast applications.
 
Last edited:

tufanv

Expert
Licensed User
Longtime User
Thanks this is a big improvement. For example , I can't use debug mode for one of my apps because app loops through 3500 entries in job done and for each entry it checks if the item is in the list of 20 items. It works without a problem in release mode especially with sleep(0) , will this change make this also run without a problem in debug mode ?
 
Upvote 0
Top