搜索
查看: 2826|回复: 46
收起左侧

[技术原创] 关于到底哪个杀软才不卡,杀软对于编译并执行场景的影响测试

  [复制链接]
popu111
发表于 4 天前 | 显示全部楼层 |阅读模式
本帖最后由 popu111 于 2019-12-6 18:24 编辑

是这样,最近写程序的时候天天被傻逼杀软给搞到access denied,要不就编译时间明显边长,于是花三天做了个测试。

因为主机情况过于复杂,无法在VM中成功重现access denied,于是这里的测试主要指标是编译一个小程序的耗时。

警告:本测试充满个人观点,选择待测杀软完全是选择我个人「会选择装在主力机上用的」,如果没有你喜欢的杀软,请看别的,请自认为理中客的讨论人士立即返回,以免引起身体不适,谢谢。

Base Env
本机经不住许多折腾,于是运行在虚拟机中,配置记录如下:
> Hypervisor: VMware Workstation Pro 15.5.1
> Host OS: Windows 10 x64 Enterprise 1909
> Host CPU: Shitel 8086k 6C12T @ 4.7GHz
> Host Disk for VM: Toshiba TR200 (exclusive by VMware)
> VM OS: Windows 10 x64 Enterprise 1903
> VM CPU: 12 cores
> VM Memory: 8GB @ 3000MHz
> VM CinebenchR20: Multi-core 2904 pts, Single-core 385 pts

作为 CPU 性能的参考,虚拟机的 CinebenchR20 分数大概是在你的 7700k 和 8700k 之间,我边跑分边在 b 站看视频,所以该性能应该能比较好地体现摸鱼状态下电脑的可用性能。
对于 IO 来讲,特弱 200 虽然特弱,但是 VMware 有一个神秘的缓冲可以让他的 cdm 跑到 2000m/s,应该能比较好的体现开发环境,毕竟是独占状态,只跑这一个任务。

最终结果
image-20191206182108179.png

Y轴为编译耗时,越低越好。baseline为未装杀软时测出。

我认为这里大部分人只想知道这些,关于如何测试的,测试过程中的情况,请移步:我的博客

一个比较有意思的是,我们可以在大部分的杀软中看到首次记忆现象,可以充分说明安装后全盘扫描通常都是有用的。

12/03:
添加 avast! 失败
重测了部分失准数据
图表已更新,请注意为了凸显 Y 轴变化,数据已从 20000 起跳

12/06:
添加 McAfee 和 Dr.Web
图表进行了排序

评分

参与人数 24原创 +1 分享 +3 魅力 +1 人气 +62 收起 理由
Jomye + 2 版区有你更精彩: )
我就呵呵 + 1 版区有你更精彩: )
hup + 1 原创内容
windows7爱好者 + 3 感谢解答: )
cyclonebaby + 3 版区有你更精彩: )

查看全部评分

B100D1E55
发表于 3 天前 | 显示全部楼层
本帖最后由 B100D1E55 于 2019-12-3 01:05 编辑

不知道是多大规模程序的编译?我以前win下用wsl编译gcc toolchain的时候eset拖慢了两倍不止,按理来说动态启发的(ESET,火绒,BD,WD)在大规模编译下性能都会很悲剧,因为初次无缓存仿真性能损耗很大,他们基本靠缓存、降低仿真深度来缓解性能问题。一楼成绩明显好于我的预期所以有点好奇。BD难看估计是因为本身笨重+有延迟扫描机制

之所以要选一个大程序编译(比如chrome,gcc toolchain)是因为编译一开始非文件操作overhead容易扰乱评估。如果杀软过滤文件释放等操作,只有大量可执行文件操作被释放的过程才会使得杀软扫描成为主要性能损耗,进而直观地评估杀软之间的性能影响差异(类似大程序安装解包流程)。有一些带内存执行页扫描的就更惨,比如ESET,程序初期冷启动会延迟,多线程编译下性能影响更加明显(因为ESET文件扫描我记得是单线程,跑个-j20就是大悲剧,所以他们才搞了这种东西https://help.eset.com/ees/7/zh-CN/idh_performance_exclusions.html

评分

参与人数 3人气 +3 收起 理由
我要打十個 + 1 感谢解答: )
hup + 1 加分鼓励
柯林 + 1 赞一个!

查看全部评分

popu111
 楼主| 发表于 3 天前 | 显示全部楼层
本帖最后由 popu111 于 2019-12-3 22:24 编辑

已经就先前说过的排除问题做出了更新,具体记录请查阅 https://note.bobo.moe/2019/12/avdt-day4.html

One more thing,

Avast
version: 19.8.2393 - 19.8.4793.544

鉴于有网友深切渴望小 a 的成绩,我还是浪费我宝贵的时间在这上面了。

btw,我把这个版本号称为「avast 的叠加态」。

avast,1,736770486,0
avast,2,1379357527,0
avast,3,1318284733,0
我把这个现象称为「永恒的 15 秒」

avast排除后,1,329219454,0
avast排除后,2,327739451,0
avast排除后,3,330988577,0
我把这种情况叫做「完全放弃治疗」

最后为了顾全小 a 的面子,这个玩意我就不往图表上放了。

来个预览感受下就完事了。



用小a简直就是灾难,它能随时打断你的工作流,然后摸摸头说,「乖,没事了,回去干活吧」
欧阳宣
发表于 4 天前 | 显示全部楼层
有意思 这种突破大家成见的测试楼主你会做就多做点嗷
popu111
 楼主| 发表于 4 天前 | 显示全部楼层
欧阳宣 发表于 2019-12-2 23:29
有意思 这种突破大家成见的测试楼主你会做就多做点嗷

这玩意毕竟还是要时间的嘛……只靠我肯定是不行

不过话说回来,做评测之前还是应该好好上初中物理,要懂得怎么设计实验,控制变量和消除误差……

要不就真的只是在输出垃圾了
欧阳宣
发表于 4 天前 | 显示全部楼层
popu111 发表于 2019-12-2 23:34
这玩意毕竟还是要时间的嘛……只靠我肯定是不行

不过话说回来,做评测之前还是应该好好上初中 ...

有道理有道理 卡饭还肯在发帖前想到这些的人已经很少了
御宅一族
发表于 4 天前 | 显示全部楼层
NB就vans了
TOP烽火
发表于 4 天前 | 显示全部楼层
说了一大堆那么问题来了,外星人来一台么
www-tekeze
发表于 3 天前 | 显示全部楼层
本帖最后由 www-tekeze 于 2019-12-3 00:15 编辑

huorong表现不错嘛,缓存效果也还行。。。技术帖。。

额,WD比大数字强多了,没想到。。。



popu111
 楼主| 发表于 3 天前 | 显示全部楼层
本帖最后由 popu111 于 2019-12-3 06:12 编辑
B100D1E55 发表于 2019-12-3 00:55
不知道是多大规模程序的编译?我以前win下用wsl编译gcc toolchain的时候eset拖慢了两倍不止,按理来说动态 ...

只是一个比较小的程序,最终链接好的二进制大概有4m多吧,主要是不得不考虑时间成本,在做测试的同时甲方还在催我滚去板砖,我也不想为此拖太长
我图表中一部分的内容的确不应该与另一部分并列,这是我设计时的失误。因为看日志的话就知道,有一部分杀软我不得不排除才能开始编译,比如红伞、fs、eset。将这些排除过的杀软的数据和其他数据放在一起是不太合理的。我今天应该会对这些杀软再想办法测试一遍。

顺便一提,wsl那个io…不是本身就挺惨了(
wingsla
发表于 3 天前 | 显示全部楼层
支持技术贴。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛|卡饭乐购| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 苏ICP备07004770号 ) GMT+8, 2019-12-6 23:51 , Processed in 1.493490 second(s), 24 queries .

快速回复 返回顶部 返回列表