2017秋軟工2 效能分析

2022-08-18 21:45:13 字數 1575 閱讀 5744

coding:

要求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分。

軟工2017第三週作業 詞頻效能分析

這篇部落格中要寫以下幾點 1 準備工作 2 詞頻效能分析 3 優化 4 再次profile 5 push wf.exe的git位址 一 準備工作 1 寫好功能四,重定向輸入,以war and peace檔案為例,執行結果如圖 2 連續三次執行,程式三次執行時間和cpu引數,截圖如下 3 猜測此程式的...

TensorFlow學習筆記2 效能分析工具

在spyder中執行以下 import tensorflow as tf from tensorflow.python.client import timeline 構造計算圖 x tf.random normal 1000,1000 y tf.random normal 1000,1000 res...

初學軟工 需求分析

需求分析作為軟體工程中不可或缺的一項重要的內容,在許多的方面都有重要的作用,可以說需求分析做不好,將來的軟體驗收和維護都會遇到很大的困難甚至要進行軟體的重構,下面來看一下我的導圖 一 需求分析的任務 1 構造模型 首先就是要構造目標的業務模型,從原系統的模型出發經過轉化最後形成現有系統的模型 2 分...