ic性能测试

ic性能测试
方块菌前言
打算暑假里在ic搞个简单算法竞赛忽悠鼓励一些人加入算法竞赛圈子,为了吸引人打算允许触发器参赛并放大时限,于是打算测试一下ic触发器/Lua的性能
本地测试
测试CPU:AMD Ryzen 7 9700X
| 测试项目 | C++ | Lua in ic | Lua | Python | ic触发器 |
|---|---|---|---|---|---|
| for循环空跑1e8次 | 0.018s | 0.018s | 0.403s | 1.29s | 5s |
| 密集浮点计算1e7次 | 0.270s | 0.968s | 2.395s | 4.758s | 290s¹ |
| 线性筛全家桶到1e7 | 0.240s | 2.748s | 8s² | 6.902s | ——³ |
- N=1e6时,运行约29s,计算得出此数据
- N=1e7时,命令行返回
lua: not enough memory,N改为1e6时用时0.8s,计算得出此数据 - 线性筛全家桶码量略大,暂未在ic触发器中复刻
另外,在洛谷ide测试了for循环空跑和密集浮点计算,以下为测试结果
| 测试项目 | C++14(GCC9) | Lua | Python3 | PyPy3 |
|---|---|---|---|---|
| for循环空跑1e8次 | 0.144s | 0.317s | 6.75s(计算得出) | 0.069s |
| 密集浮点计算1e7次 | 0.506s | 5.03s(计算得出) | 12.4s(计算得出) | 1.465s |
更复杂的任务我们以后再测试
可见触发器在面对更加困难的任务时效率衰减相当明显,这几乎断了我们允许触发器参赛的路子。
有趣的是本地运行的触发器for循环空跑薄纱洛谷跑的Python,所以触发器已经超越了Python!
触发器是世界上最好的编程语言!
我们发现ic中使用的Lua简直快到飞起,比官方的Lua快了数倍。起初我以为是因为ToLua使用了LuaJIT,但是GPT否定了。那么为什么Lua in ic会快这么多呢,有知道的大佬可以发在评论区。
后记
本测试后两项代码取自感性理解洛谷评测机速度(2025.06.01) by chen_zhe,并由GPT-4o修改为Lua和Python版本,方块菌翻译密集浮点计算为触发器版本,可以在ic搜索密集浮点计算(触发器复刻)测试,但是要做好卡死的准备
参考资料
[1] 感性理解洛谷评测机速度(2025.06.01) by chen_zhe
[2] ChatGPT
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果


