zoukankan      html  css  js  c++  java
  • 第一次个人项目【词频统计】——测试样例分析&性能分析

    【空文件测试】(认为空文件行数为0)

    【基本测试】

     【大小写测试】

      可以看出abcd同类型的词出现了三次,而单词树中存储的是ABCd,满足大小写要求。

    【复杂文件测试】

      前三项数据比较接近,但是单词和词组统计的个数稍有差异,因此导致了排名的差异。

    【性能分析】

       使用助教提供的数据集,在Release条件下跑出的时间大概七八十秒。说明平衡二叉树在大量数据的查找具有不错的性能。

      程序运行指标如下:

      

     

      主函数运行情况分析: 

      

      可以看出词组平衡树的插入,单文件信息获取以及同词组类型判断这三个函数占用的时间比较多,优化应当从这几函数考虑。

      

      时间主要集中在strcmp,暂无优化方案

       

      时间开销主要是函数isSamePhrase引起的,同上无较好解决方案。

      

      从上面几幅图可以看出,时间开销比较明显的全部集中在系统调用的函数上,如strcmp,fgetc,所以合理的优化方案是改变程序的结构,考虑使用多线程,以提高CPU利用率和减少时间。

      

  • 相关阅读:
    20171104 DOI Excel 导出
    ABAP 字符串处理
    SE80 开发对象
    ABAP开发中message dump
    物料单位转换的两个函数
    ABAP 多行消息分别显示弹窗
    隐藏你写的程序代码
    学习笔记:Javascript 变量 包装对象
    访问平安银行网站时出现证书问题 NET::ERR_CERT_SYMANTEC_LEGACY
    关于跨域问题
  • 原文地址:https://www.cnblogs.com/ustctp/p/8678111.html
Copyright © 2011-2022 走看看