压缩迁移加快了测试速度——而不仅仅是数据库设置部分

cnk*_*cnk 5 testing django

我一直在与缓慢的测试作斗争——非常慢的测试。我认为这可能是由于我的测试中数据设置效率低下造成的。我做了一些“之前”的时间测量,然后,由于不相关的原因,粉碎了我所有的迁移。然后我再次进行测试。我没有更改任何测试代码 - 仅更改迁移 - 但测试速度明显加快。我预计报告的数据库设置数量会有所改善,--timing但我没想到测试本身运行的速度会有太大变化。谁能对此提供解释?

方法 数据库设置 数据库拆解 运行测试 总经过时间
MySQL 124.2秒 3.6秒 794.5秒 925.0秒
MySQL keepdb 1 123.8秒 0秒 742.5秒 869.2秒
MySQL keepdb 2 4.3秒 0秒 742.2秒 759.1秒
SQLite 运行 1 4.9秒 0秒 886.7秒 896.3秒
SQLite 运行 2 4.3秒 0秒 778.1秒 785.2秒

压制迁移后

方法 数据库设置 数据库拆解 运行测试 总经过时间
MySQL 107.8秒 6.5秒 200.0秒 319.5秒
MySQL 109.3秒 6.9秒 205.3秒 326.4秒
SQLite 运行 1 34.3秒 0秒 128.2秒 166.9秒
SQLite 运行 2 1.5秒 0秒 124.6秒 130.3秒

cnk*_*cnk 1

更新。我对我的假设做了更多测试 - 检查迁移压缩之前的代码(以及我获取原始数据的时间段)。在这两种情况下,我现在看到旧的代码在更合理的时间范围内运行测试 - 主要区别在于数据库设置时间。我唯一的解释是,在我进行最初的惨淡计时的那天,我的笔记本电脑上一定运行着其他东西。

就在壁球之前

方法 数据库设置 数据库拆解 运行测试 总经过时间
MySQL 191.2秒 8.1秒 207.4秒 415.5秒

与我的问题中“之前”测量相同时期的代码

方法 数据库设置 数据库拆解 运行测试 总经过时间
MySQL 183.8秒 6.5秒 190.5秒 386.4秒