[fpc-devel] Are x86 optimizations across various platforms shared?

Graeme Geldenhuys graeme at geldenhuys.co.uk
Mon Feb 11 20:31:30 CET 2013


On 2013-02-11 19:03, Mark Morgan Lloyd wrote:
>>
>> No of tests  |  Type of Tests  |  Linux     |   FreeBSD
>> -------------+-----------------+------------+----------------
>>   151        | CSV persistence |    0:22    |    0:27
>> -------------+-----------------+------------+----------------
>>   151        | TAB persistence |    0:22    |    0:27
>> -------------+-----------------+------------+----------------
>>   151        |    XMLLight     |    0:23    |    0:26
>> -------------+-----------------+------------+----------------
>>   151        | SqlDB-Firebird  |    3:14    |    3:38
>> -------------+-----------------+------------+----------------
>>   682        | Non-Persistent  |    1:09    |    1:30
>> -------------+-----------------+------------+----------------
>>
>> As you can see, consistently the FreeBSD tests take longer than the
>> Linux ones. The test project on each platform was compiled with exactly
>> the same compiler settings.
> 
> What exactly are we looking at there: 151 iterations inside a single 
> program, or 151 programs?

The unit testing project is a single executable running all the above
tests. 151 is 151 different unit tests to test the various persistence
layers. The test suite is based on a hierarchy of classes, that is why
all persistence tests have 151. The exact same persistence tests are run
for each persistence layer. The 682 is again different tests for
anything non persisting - testing various classes, and pretty much all
functionality of those classes.

I did not setup the testing framework to run multiple iterations, only
one run was completed with a total of around 1200+ unit tests taking
around 4:30-5:00 to complete, from start to finish.

So memory cache etc should really have an effect. Because each test case
starts from scratch, does the test, then cleans up. Then the next test
etc etc.

Regards,
  - Graeme -

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/




More information about the fpc-devel mailing list