Release date: 12/04/2018
Revised date: 07/30/2020
Version: 8.6 & up
BackgroundReport Desk reports can be CPU intensive and potentially run for a long time, depending on the complexity of the report, the output format and the number of records involved. Accordingly, before running a User Defined Report (UDR), the system will first count the number of records involved. If the number of records exceeds the maximum number allowed for the selected format, the report cannot be run.
If the number is less than the maximum, but greater than a threshold amount, the user will be warned about long running times and have a chance to cancel the report before it starts processing records:
Sometimes it will take more than 10 seconds to calculate the report size. When that happens, the following dialog is presented. It will stay visible until:
The calculation is complete, or
The user presses the Cancel button, or
Ten minutes pass. If ten minutes pass, the report is cancelled automatically.
Default threshold numbers were determined by testing several reports and noting the run times and amount of memory used. Generally, we set warning threshold defaults for reports that could take more than 10 minutes or use more than 8 GB of memory. The assumption is that you have at least 8 GB of RAM in your workstation but 16 GB RAM is preferred if you wish to use Report Desk. The maximum record defaults is set by doubling the warning level but may run significantly longer if you are out of memory. Of course, the number of columns in your reports can also affect the performance. We came up with the threshold values by assuming an average 14-column report. These threshold values are only approximations and can be customized. Here are the defaults:
Output Warning Maximum
Format Threshold Records
----------- ------------- ---------------
CSV 500,000 1,000,000
PDF 250,000 500,000
XLSX 500,000 1,000,000
Changing Default Thresholds
The default thresholds can be changed by running the <ElliottRoot>\Bin86\EL860CF.EXE utility. In the Report Desk tab, you can change the Record Thresholds:
If you login to Elliott 8.6 as SUPERVISOR, you can also run this configuration utility on the top left corner of your Control Center toolbar. Alternatively, you could modify these entries in <ElliottRoot>\Bin86\EL860.CFG:
You may not see these entries in the EL860.CFG file if you are using default values.
The default threshold values are somewhat arbitrary. Below is a table that depicts the timings of a few reports of various record counts, field (column) counts and output formats. The elapsed times are in minutes.seconds. The maximum memory numbers are in megabytes.
Observe the following:
- The CSV and XLSX timings are more than twice as fast as the PDF timings.
- The CSV and XLSX maximum memory values are more than twice the PDF values.
- The number of fields in the reports greatly affect the timings and maximum memory values.
- In our test cases, it is assumed that the execution time of the PSQL server is not a significant part of the overall performance. The Report Desk performance is mostly determined by the client side. Our testing workstation has 16 GB of RAM and 4 CPU.
- The values in red are not final numbers for those reports -- The system was running at 95% or more of available memory for many minutes before the reports were cancelled by the user. In these scenarios, it is likely we can get faster performance if we increase the RAM of the workstation.
For analysis purposes, we suggest that your output should be CSV or XLSX. PDF is not suitable for analysis purposes and also runs slower.
Modified programs: EL860RW, ELRW_SYRPTUDR