Often in Reporting API's we do sort the just built dataTable like this:
This results in slower performance as we might sort the dataTable twice if a
filter_sort_column is specified. This is for example the case when requesting reports for the UI. On a table with 25k rows this can easily add another second execution time as our custom sort function will be executed > 1 million times each time we sort.
Ideally, the report class would define the default sort column and we would sort max once if needed at all. For example we can pass the report object to
DataTableGenericFilter and get the default sort column(s) and default sort parameters from the report.
Alternatively, we could not sort a dataTable at all but only if a user specifically specifies a
filter_sort_column. I do not think that this would break the API as we have not defined any default sort column in the documentation etc. This would be much easier.