If BENCHMARK=ON is used, other options should be enabled to have better performances.
### Generate the cpp,h and txt files from the desc.txt file
@ -316,6 +323,14 @@ You can add a test ID to specify that you wan to run only a specific test in the
python processTests.py -f desc.txt BasicTests 4
First time this script is run, it is expecting some folder and some headers.
To create the folder, the script createDefaultFolder.sh can be used.
Then, before filtering desc.txt by using a C++ class, you should (at least once) parse the full file without filtering.
The reason is that the cmake build is not aware of the filtering and will include some source files which
are not needed when filtered out. So those files should at least be present to allow the compilation to proceed. So they need to be generated at least once.
### Build and run the tests
Folder Output/BasicMaths should exist
@ -329,6 +344,9 @@ Folder Output/BasicMaths should exist
The a table BasicMathsBenchmarksF32 will be created which is probably not what you want since the table is containing a type column (f32,q31, q15, q7)
The script addToRegDB.py is working on the same principle but using the regression csv to fill a regression database.
To create an empty database you can use (for default database)
sqlite3.exe bench.db <createDb.sql
And for regression database:
sqlite3.exe reg.db <createDb.sql
Since the python scripts are using bench.db and reg.db as default names for the databases.
### Processing the database
Database schema (defined in createDb.sql) is creating several columns for the fields which are common to lot of rows like core, compiler, compiler version, datatype etc ...
Like that it is easier to change the name of this additional information and it makes the database smaller.
But then it means that to display the tables in a readbale format by the user, some joins are needed.
examples.sql and diff.sql are showing some examples.
examples.sql : how to do simple queries and join with the configuration columns to get a readable format.
diff.sql : How to compute a performance ratio (max cycle and regression) based on a reference core (which could be extended to a reference configuration if needed).