Switch to: V12V11V10V9V8V7V6V5

Valentina Reports Benchmarks

Valentina Reports are integrated into Valentina Server, as well as also available as an ADK for integration into many software development packages. For years, Paradigma Software has talked about the speed of Valentina database - but many optimizations we've built into Valentina Server for DB also benefit reports generation too. We recently set up a test bed on a pair of Mac Minis (we do not jest - these make great little servers!) and ran reports with MySQL. Check out these results!

Archive

Here you can find:

  • vsp file with report
  • PHP files that connect to a localhost Valentina Server; Request to generate a PDF report
  • bash file that can be used to launch PHP from a terminal

Hardware

These benchmarks were tested with the following modest Apple Macintosh computers:

C1) Mac mini i5/2.5Ghz, RAM 8Gb 1333Mhz DDR3, HDD native SATA3

C2) Mac mini i7/2.3Ghz, RAM 16GB 1600Mhz DDR3, HDD native SATA3

Software

  • Mac OS X 10.8.4
  • Valentina Server 5.4.2 - handles Valentina Projects file (.vsp)
  • mySQL - remote - database with table with 32000 records
  • mySQL - on localhost - database with table with 32000 records

Result - 929 page PDF

The test is to run a simple tabular report with 7 fields on all records, with the result being a PDF file with 929 pages, and a disk size of 3.5Mb.

  • REMOTE mySQL:
    • C1: 10.5 seconds
    • C2: 9.7 seconds
  • LOCALHOST mySQL:
    • C1: 9.7 seconds
    • C2: 8.2 seconds

Result - 1 page PDF

The test is to generate 100 reports in 1-page:

  • LOCALHOST mySQL:
    • C1: 4.0 seconds
    • C2: 2.0 seconds

Analyze of Results

Valentina Server 5.4.2 generates these reports in mutexed access, so only a single core is utilized in generating the results. Read about multi-core below.

Valentina Server 5.4.2 generated 100 single page PDF reports, containing about 20 records with 7 fields.

We have 100 reports in 2 seconds, so 50 reports per second on MacMini/i7.

Calculate that in one day (24 hours) you will be able to get up to 24 * 60 * 60 * 50 = 4+ MILLION reports on a single, standard MacMini/i7.

Valentina Server MT

To date with the new VSERVER_MT, scalability utilizing the new VREPORT.dll is much better, utilizing more cores of the CPU on our tested hardware.

As of Valentina Release 8.3, the multi-threaded scalability is the default version of Valentina Server. The non-multi-threaded version is no longer distributed from Valentina Release 8.3.

So far with this approach, the 8-core MacMini/i7 generates reports x3-x4 times faster. We haven't yet achieved x8, but tests are ongoing. Let's estimate this as

  • 150-200 1-page PDF reports per second.
  • 12-15 million 1-page PDF reports in one day (24 hours).