zoukankan      html  css  js  c++  java
  • 软工第一次作业 进度记录三 简单的性能分析

    到了今天,编码工作已经基本完成。除了非文本文件的字符、单词计数仍然和标准答案不一样以外,文本文件计数都是正确的,而且效率较高。非文本文件的读取大概无解了,不打算修改了。

    对于助教给出的样例,visual studio生成的Release版本exe能在30s内完成,linux下经过少许修改生成的可执行文件大约20s完成。

    在visual studio上进行了一个简单的性能测试。分析如下:

    1. fclose函数占用非独占时间最多,几近20%,但占用独占时间少。说明文件操作依然较慢,尤其是测试集中小文件较多。

    2. 对词组的排序占据时间第二多,占11.36%。因为只需要查找前十个,因此我采用的是在统计结束后插入排序。暂时没有想到优化方案。

    3. 对单词、词组的释放占据了第三多的时间,占11.14%。我的数据是动态分配内存存储的,所以这里时间多也很正常。考虑到现有性能已经较好,希望节省空间,而且就算更改为静态方式存储对性能改善也不会太大,还是维持现有的方案。

    4. 占据第四多时间的依然是文件流操作……

    总结:我原本以为string会成为性能瓶颈,结果并没有。文件操作比我想象中费时。

  • 相关阅读:
    (转)sql server 生成树形菜单
    在Sublime Text 3中配置Python3的开发环境/Build System
    按回车键提交表单 问题
    多页面 返回 到同一页面
    sql 查找出表里所有字段
    sql 创建表变量,临时表
    sql语句中数据类型转换函数:CAST 和 Convert
    sql isnull函数
    判断值是否为整数
    TSQL游标使用
  • 原文地址:https://www.cnblogs.com/jennawu/p/8666638.html
Copyright © 2011-2022 走看看