Practical limits on object counts

Wilhelm Sanke sanke at hrz.uni-kassel.de
Sun Oct 4 07:05:14 EDT 2009


Yesterday I had written in response to one of Richard's post of this thread:

> Responding to your post, I have expanded my test stack of 2004 to now
> containing 10000 (ten thousand) fields.
>
> (was: <http://www.sanke.org/Software/RevTestStacks.zip> for the 
> 3300-fields stack)
>
> I will post the URL of the new test stack in my next post to this list.
>
> Preliminary results of testing with the 10,000 fields' test stack:
>
> Creating the 10000 fields takes around 200 seconds in the Rev IDE, 130
> seconds in the MC IDE.
> Deleting the 10000 fields in the Rev IDE takes 420 seconds in the Rev
> IDE, 6 seconds in the MC IDE
>
> The three buttons for creating color patterns need about 2.3 seconds in
> the MC IDE, 3.5 seconds in the Rev IDE
>
> When the 10000 fields have been created, the Rev IDE is very much
> unresponsive, no Problems with the Metacard IDE (with the exception of
> the Metacard "Control Bowser" which needs also more time to respond when
> 10000 fields are present)
>
> I did not yet test to build standalones.

The figures quoted above were measured on a 3 GHz WindowsXP machine with 
Rev engine versions 4.0-dp4.

The problem back in 2004 with the 3300-fields' stack was the intrusion 
of a front- or backscript concerning only table fields, but because this 
script was insufficiently "isolated" to only monitor "table fields", it 
therefore constantly monitored any kind of fields.

Such well-meant, but in many cases unneeded interference from front and 
backscripts is still a very negative characteristic of the Rev IDE. The 
Rev IDE has a very "interrelated", "intertwined" structure. This has 
been discussed several times in the past with proposals to achieve more 
"modularity" in the Rev IDE, to make a number of parts of the IDE more 
independent of each other.
The present format has reached such a level of "interrelatedness" that 
the Rev IDE will cease to function completely when you remove certain 
front or backscripts ( I tested this, but do not remember at the moment 
which of these scripts were the culprit).

There may be well also limits located in the engine, but as there are 
clearly to be seen differences between the performances of the Metacard 
and Rev IDEs, it is worth while also to think about improving the Rev IDE.

One thing the Rev IDE does is to add so-called "development properties" 
to each object that is being created. This process in its result slows 
down the creation of objects and the overall performance of the IDE when 
a certain number of objects has been reached - as Richard found out: 
around >5000.

I now have tested to create standalones from my new 10000-fields stack:

Metacard IDE: Creating the standalone took less than one second!
I have to add here that I had to use the "Standalone" file of Rev 
version 3.5, the file of the 4.0-dp4 version did not work with the 
Metacard IDE, presumably a bug.

Rev IDE: I canceled the test after 40 (forty) minutes. The Rev IDE then 
was still working on "Removing development properties", but without a 
final result.
Before I started the standalone builder I had unchecked "Search for 
required inclusions" ( as there were none ) and to add any dialogs or 
library inclusions.

In section "Property Profiles" of the standalone settings unfortunately 
you cannot uncheck all of the options, you have to choose from at least 
one of them. So I chose "Remove all profiles on objects" although I 
really was not interested to achieve this special goal.

After about ten minutes of standalone building the Rev window panes 
turned completely black and after some time returned to normal. After 40 
minutes there was no way to remove the blackness of the Rev Windows, and 
then I force-quit the standalone building via the Windows Task Manager.-

Another observation:

To use less space on the card containing the 10000 fields I set the 
width and height of the template field to 4. This worked fine in the 
Metacard IDE when creating the fields.

In the Rev IDE however the size of the created fields - despite the 
template settings of 4 - was a width of 250 and a height of 57 for each 
of the 10000 fields.
I found out that this occurs with all template field settings <9 - 
another instance of a unwanted and unneeded intrusion from the side of 
the Rev IDE.

To be able to precisely compare the performances of Metacard and Rev IDE 
I therefore  chose "9" for the template field settings in my test stack.

Best regards,

Wilhelm Sanke
<http://www.sanke.org/MetaMedia>




More information about the use-livecode mailing list