日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

什么是 Benchmarks?

發布時間:2023/12/8 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是 Benchmarks? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是 Benchmarks?

《工欲善其事,必先利其器》

大家好,我是vk,好久不見。國慶回來了,感覺有好多功課又落下了。。。那么就以一篇小文章開始,提前回歸我們的工作日常吧!

起初,我也不知道 benchmark 這個文件是做什么的。抱著求知的心態打開翻譯軟件,翻譯過來是 “基準”、“檢測” 的意思。這時候我有了點思路,結合文件內的程序,大概能猜出來這是一個存放 測試標準和性能程序 的文件夾。

一、benchmark 能做什么?

在學習 vue 源碼時,項目里就存在 benchmark 文件夾:

打開 big-table 文件夾的 index.html 文件:

直到看見 ROWS = 1000 這個變量,我才明白,這的確是用于測試性能的程序。言外之意,benchmark 的目的主要有兩種,一是用大量的數據驗證性能(例如表格,svg,列表等);另一個是獲得一些基準數據,從而可以與本軟件的其他版本或其他同類軟件進行比較。

無獨有偶,其實并非只有 vue 才會進行 benchmarks 測試。相反,benchmark 測試不一定會發生在每個版本的開發期間。有可能僅會在有較大改動的時候才會進行一次 benchmark 測試。


(圖片來自稀土掘金)

根據上圖可知,這里渲染了大量的帶狀態的組件實例,這是 v2 和 v3 針對以前的 object.defineProperty 和 現在的 Proxy 這兩個不同的 API 進行的,屬于 benchmarks 測試。

這里測試得出的結果是,v3 擁有更加優越的性能和基準數據,這是質的提升。

二、benchmarks 和 單元測試一樣嗎?

答案肯定是不一樣的。兩種測試方式的目的和階段不同。

  • 單元測試發生在開發階段,當一個新功能、新程序開發好,或者對原有程序進行了改動之后,需要通過單元測試來驗證其正確性。單元測試可能會發生多次,每個大小版本可能都要進行,有時候還會進行多次。
  • benchmark 的目的主要有兩種,一是驗證性能,另一個是獲得一些基準數據,從而可以與本軟件的其他版本或其他同類軟件進行比較。通常不使用 benchmark 做正確性驗證。benchmark 測試不一定會發生在每個版本的開發期間。有可能僅會在有較大改動的時候才會進行一次 benchmark 測試。因此頻率相對單元測試來說要低很多。

例如上面 vue 的性能測試,正是單元測試做不到的。

參考文章:

  • github很多項目中有 benchmarks這個目錄,到底是干什么的?

最后,感謝你的閱讀,愿你的未來一片光明。

總結

以上是生活随笔為你收集整理的什么是 Benchmarks?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。