加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Vicuesoft分析工具8.0:数据存储改革

(2022-08-05 11:05:45)
标签:

哲想

软件

办公

解决方案

分类: 软件

新的分析工具8.0版有很多性能改进,可以在准备覆盖率报告时节省您的时间!


创新

在我们充满任务的快速生活中,最有价值的资源是什么?当然,这是我们的时代。DVK团队对您的时间的重视程度不亚于自己的时间,因此分析工具8.0更新的主要目标是性能加速和使用灵活性改进。让我们从主要特性开始,最后讨论一些次要特性。


SQLite抛在脑后

在分析工具存在的整个过程中,我们使用SQLite作为提供覆盖数据存储和维护的主要方法。多年来,这个方向被认为有利于用户体验,因为将数据集中存储为单个文件。此外,借助«DBbrowser forSQLite»之类的工具,可以方便地在表示之前检查存储的覆盖率数据。尽管有所有优点,但缺点逐年变得更加明显。其中最烦人的一点是远非完美的多用户能力,这在通过多处理实现并行覆盖收集的情况下非常有用。此外,SQLite处理序列化的写入操作,这也对并发性施加了一些限制。总而言之,我们需要一些简单、灵活、


美在于简单

由于讨论了一种新的可能的分析工具数据存储方式,我们的团队专注于将覆盖数据存储为按类别划分的压缩文件。听起来很简单,不是吗?这是正确的!


邮编优势

那么,使用zip代替SQLite有什么好处呢?


首先,我们有机会定义缓存文件夹的结构,其中对每个覆盖档案的访问将是独立且独占的。因此,我们不需要同步原语来控制对覆盖实体的访问,这极大地影响了覆盖提取的加速。此外,客户端可以方便地访问代表覆盖范围的任何文件:


  • 语法覆盖 – 由特定解码器创建的 CSV 文件。

  • 交叉覆盖——如果解码器支持交叉覆盖提取,则使用语法 csv 创建的 json 文件。

  • 代码覆盖率——json 文件,本质上是 Clang 代码覆盖率 json 文件的轻量级版本。


最后但同样重要的是,存储SQLite存储所需的汇总内存量预计会消耗更多内存,因为关系数据库专注于维护数据完整性而不是压缩。


并行覆盖集合

由于我们选择了一种新的数据存储方法和缓存设计,为收集器实现并行执行同时在时间消耗方面获得最佳优势的路径是免费的。在以前的版本中,线程在输入/输出操作中为收集器提供了加速,例如将数据写入交叉覆盖文件。另一个优点是python线程比进程更容易被杀死。然而,进程池执行将为我们提供受CPU限制的加速,减少花在流解码和几个复杂数据转换上的时间。此外,杀死生成的进程只需要几行代码。


结果,我们得到了由多个进程控制的数据的zip存储,这些进程基本上不会相互混淆。


结果

在这次重大的萌芽更新之后,我很高兴收集到这个新的性能数据的统计数据,更高兴与大家分享!


时间和内存消耗

至于测试数据,决定选择大约500个VVC流,并比较分析工具的旧版本和新版本的结果。至于模式——所有覆盖类型(语法、交叉和代码)的提取和表示都处于活动状态。在这种情况下,结果非常出色!


https://image.135editor.com/files/users/1050/10507216/202207/24519763-eUjhwM.jpg



如您所见,旧收集器需要24 多分钟来提取覆盖数据,而新收集器需要不到5 分钟来完成这项任务。那么记者呢?这个覆盖率表示工具过去需要大约18 分钟来表示500 个流的覆盖率。现在- 略超过 2.5分钟。这意味着我们将收集器加速了5.5 倍,将报告器加速了7 倍,这绝对是有道理的!


那么内存消耗呢?由此产生的画面同样鼓舞人心!


https://image.135editor.com/files/users/1050/10507216/202207/24519763-BadVPx.jpg


虽然 SQLite存储需要大约 245Mb 的内存来存储完整的覆盖数据集,但基于zip 的存储需要超过100 Mb。这意味着我们将磁盘上的内存消耗减少了2.5 倍。


未来版本的计划

进行了出色的工作,以使您使用分析工具的体验更加方便,并节省您在等待覆盖率报告准备好显示时浪费的时间。尽管如此,我们从不满足于我们已经取得的成就。这些性能改进让DVK 团队专注于分析工具的功能改进。下一步-使报告页面更加灵活和详细,以防覆盖信息。更准确地说,如果知道某个特定的交叉覆盖元素被哪个流覆盖,那就太好了……


完整的变更日志

https://image.135editor.com/files/users/1050/10507216/202207/24519763-9nmksU.jpg


什么是分析工具?

分析工具代表了一种经过验证的工具,可以分析视频流的语法和代码覆盖率。它们提供了最大的灵活性,也可以与DVK 流和任何客户流一起使用。


这些工具提供语法覆盖率的图形表示,通过减少流及其数量来加快测试周期,比较流覆盖率。


如何得到它们?

https://image.135editor.com/files/users/1050/10507216/202207/24519763-P6bOSU.jpg


公司名称:北京哲想软件有限公司

北京哲想软件官方网站:cogitosoft.com

北京哲想软件微信公众平台账号:cogitosoftware

北京哲想软件微博:哲想软件

北京哲想软件邮箱:sales@ cogitosoft.com

销售(俞先生)联系方式: 86(010)68421378

微信:18610247936     QQ:368531638

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有