zoukankan      html  css  js  c++  java
  • 2017秋软工2

    coding:https://git.coding.net/137911934/SE20170914.git

    要求0 以 战争与和平 作为输入文件,重读向由文件系统读入。连续三次运行,给出每次消耗时间、CPU参数。

    要求1 给出你猜测程序的瓶颈。你认为优化会有最佳效果,或者在上周在此处做过优化 (或考虑到优化,因此更差的代码没有写出) 。

    本程序都是用 Map 的基本操作进行实现,用 vector 进行功能辅助,最终实现功能,所以据我猜测,瓶颈应该在于大文件的读入。

    要求2 通过 profile 找出程序的瓶颈。给出程序运行中最花费时间的3个函数(或代码片断)。要求包括截图。

    经过测试,在程序运行过程中仅有 main 函数比较耗费时间,其余都是 map 应用库函数操作,对时间消耗不大。所以我推测主要时间耗费在大数据文件的读入处理。

    要求3 根据瓶颈,"尽力而为"地优化程序性能。

    通过 bing 进行查找学习发现,cin 读取数据时有额外开销,运用下面这行代码可以 “取消cin于stdin的同步” :

    std::ios::sync_with_stdio(false); 

    我将这行代码加入到了我的程序中并重新进行调试。

    要求4 再次 profile,给出在 要求1 中的最花费时间的3个函数此时的花费。要求包括截图。

    通过 ptime 测试时间可以清楚的看到,运行时间减少了 0.7 秒左右,较少率接近 50% ,证明优化有效。

    要求5 程序运行时间。根据在教师的机器 (Windows8.1) 上运行的速度排名,分为3档。此题得分,第1档20分, 第2档10分,第3档5分。功能测试不能通过的,0分。

  • 相关阅读:
    从书上学的东西(顺带总结一发)
    网上讲的好的知识点汇总
    土地征用题解(兼斜率优化详解)
    Blocks题解(区间dp)
    高精度模板汇总
    动态规划总结
    异或序列(题解)(莫队)
    小Z的袜子(题解)(莫队)
    小B的询问(题解)(莫队)
    凸包模板——Graham扫描法
  • 原文地址:https://www.cnblogs.com/wangl009/p/7598659.html
Copyright © 2011-2022 走看看