The scenario is a customer testing the move of a database to a new server / SAN.
The new server has 2 x 24 core Intel Processors, 192 GB RAM, Windows 2012 Server. SAN is EMC all SSD system connected by fibre channel.
Database engine is 126.96.36.1996 - the 72GB database file is in 11.0.1 format still. 4k page size. 50GB allocated to DB cache.
If the database is copied straight over and started under v16 general performance is good. However given the change in hardware we thought it would be worth running CALIBRATE SERVER. After doing this the general responsiveness of the system was very much slower - seemingly across all queries and some heavy duty processes have gone from seconds to minutes. Running RESTORE DEFAULT CALIBRATION made things better but definitely not as good as before.
IOParallelism remains at 1 at all stages. Running sa_unload_cost_model() before the CALIBRATE SERVER produced an empty file. After the calibration it produced a file with content, and after the restoration of the default calibration it produced an empty file again.
Content of the cost model file mentioned above was: