万象直播app破解版_欧美国产日韩无遮挡在线一区二区,亚洲国产综合精品中久,强奷白丝女仆在线观看,超碰三级大陆在线

您的位置:首頁 > 軟件問答

控制時間的軟件(安卓蘋果都能用!看片無限制,這手機播放器真爽)

導讀控制時間的軟件文章列表:1、安卓蘋果都能用!看片無限制,這手機播放器真爽2、ROG月刃無線AP 36k鼠標評測:不止于信仰,輕量化的電競游戲利刃3、5款好用逆天的小眾app ,相見恨晚!4、

控制時間的軟件文章列表:

控制時間的軟件(安卓蘋果都能用!看片無限制,這手機播放器真爽)

安卓蘋果都能用!看片無限制,這手機播放器真爽

因口罩原因,小雷身邊的陽性朋友數量急劇上升,為了自己的健康著想,最近又開始了居家辦公生活,這樣不僅可以減少感染風險,還能明目張膽的摸魚。

加上氣溫驟變,身在廣州的小雷也穿起了打底褲,天氣越冷在家越無心工作,只想著如何讓這個工作時間過得快一點。好在小雷的工作不會突然來個視頻會議,絕大多數時間是可以通過刷劇聊八卦來消磨時間。

說起刷劇,小雷之前也分享過不少第三方播放器,也正是因為免費資源全,漸漸地那些主流播放器基本都不用了。

不過市面上也有很多第三方播放器,通過不斷地更新刷版本號,來植入廣告、惡意導流等,導致用戶使用體驗大打折扣。說白了就是打著免費的旗號,等使用人數一多,就想盡各種法子來變現跑路。

當然,解決方法也不是沒有,有一些論壇大神會對軟件進行魔改,去掉了更新及廣告這些服務,讓其徹底變成一個純凈版工具。

碰巧小雷手上就有一款純凈版播放器,秉承著“有魚大家一起摸的理念”,所以本期內容,小雷將這款工具分享給各位,讓喜歡看片追劇的你,不再忍受廣告等煩惱。

工具首頁提供幾大類選擇,涵蓋了電影、電視劇、動漫、綜藝等,頁面布局和常規第三方播放器保持一致,方便大家快速找到相關內容。

感興趣的朋友,小雷也打包好了,老規矩呀!

最重要的是,不管是首頁還是播放頁,因特殊處理過,均沒有廣告植入等問題,大伙可以直接享受追劇的樂趣。

雖然工具每次啟動都會有頁面提示更新,但我們只要無視即可,它并不會強制更新。好了,考慮到資源敏感等問題,小雷就不一一展開說明,更多功能留著大家自行體驗。

最后,還是需要強調一點,雖然是特殊處理過的版本,今后也不敢保證會不會出現廣告問題,這類第三方播放器總能見縫插針的植入廣告推廣內容,大伙一定不要相信任何推廣內容。

ROG月刃無線AP 36k鼠標評測:不止于信仰,輕量化的電競游戲利刃

若想要在電競游戲當中發揮更出色的操作,快速精準且穩定的游戲鼠標那是不可或缺的,從性能、手感、續航到價格都是影響選擇因素之一,選對了鼠標會讓游戲操作更得心應手提高戰力。華碩的鼠標產品得到了玩家的認可,尤其是ROG玩家國度系列產品,比如月刃這個系列的鼠標,之前推出的是搭載原相PMW 3335光學傳感器,且僅支持有線連接模式,不過挺有性價比的,現在推出了支持無線連接的版本,ROG月刃無線36k鼠標的硬件性能更強,搭載了自研AimPoint 36K光學傳感器,DPI最高可達36000,輕量化的機身重量僅為75克,并支持三模連接功能,新款乍看之下可能不算便宜,究竟實際體驗如何,看看下面的上手實測就知道了。

首先來開箱,外包裝盒子以紅黑為主色調,在正面印有ROG月刃無線AP 36k鼠標的設計圖案,背面印了鼠標的功能特點,比如支持有線、藍牙無線與2.4GHz無線三種連接模式,支持AURA SYNC神光同步等功能,另外,這款鼠標擁有兩年的質保服務。

在包裝盒內含有ROG月刃無線AP 36k鼠標本體,USB-A接口無線信號接收器,USB接口轉換器,USB供電數據線,兩顆歐姆龍機械微動開關以及說明書,供電數據線的長度約為兩米,線材外層為傘繩材質較為柔軟,并附帶了硅膠扣帶便于線材收納。

相較于常見橡膠材質的線材來說,傘繩材質的數據線重量輕且更柔軟耐用,隨機附帶了一個USB2.0接口轉換器,分別是USB-C母口與USB-A母口,可將無線信號接收器接駁到轉換器上,并將其放置于桌面上,減少阻隔以降低信號干擾。

隨機附帶了兩顆歐姆龍機械微動開關,型號為D2F-01F,鼠標的左右兩個主鍵均搭載了ROG自研機械微動開關,并支持熱插拔功能,假如喜歡不一樣的觸按手感,或者經過長時間高強度使用后,用起來感覺精準度下降的時候可自行更換。

ROG月刃無線AP 36k鼠標整體采用右手人體工學設計,即為左高右低的造型設計,鼠標目前提供了兩種配色版本可選,分別是月耀白與暗夜黑,考慮到本人桌面配色主題屬于平淡無奇的白色系,因此選擇了月耀白配色版本,鼠標的前半部為灰白色后半部為白色。

鼠標的左右兩顆主鍵采用分離式設計,并搭配抗汗耐臟的PBT材質按鍵,即便長時間使用按鍵表面也不易打油,表面還做了磨砂處理,鼠標搭載了ROG自研機械微動開關,點擊壽命可達七千萬次,滾輪表面采用凹凸條紋的橡膠包裹增加摩擦力

鼠標左側設計了前進與后退兩個按鍵,按鍵的位置與尺寸設計不易誤按,按鍵表面同樣具有磨砂質感,鼠標的后部設計了ROG的大眼LOGO燈,支持多種RGB動態燈效與AURA SYNC神光同步,而DPI切換按鍵則設計在機身底部。

鼠標內置了容量為370mAh的鋰電池,在關閉燈效藍牙連接模式狀態下,續航可達149個小時,假如按照一天使用八小時算,續航大約可達十八天,動態RGB燈效會直接影響鼠標續航表現,若想要獲得較長的續航時間,建議降低RGB燈亮度以延長續航時間。

鼠標的底部設計了四片PTFE特氟龍腳墊,有著低摩擦系數等特點,低阻力有助于玩家實現各種快速甩動,ROG月刃無線AP 36k鼠標搭載了自研的AimPoint 36K光學傳感器,DPI分辨率最高支持36000,650IPS追蹤速度以及50G加速度,同時還擁有1000Hz的回報率,傳感器在參數上屬于是旗艦級水平。

ROG月刃無線AP 36k鼠標支持2.4GHz無線、藍牙無線以及有線三種連接方式,通過鼠標底部的連接模式切換開關,快速切換至不同連接模式,三模連接設計輕松實現隨意連接,不再受制于設備的連接兼容性,可連接手機平板或者筆記本電腦等移動設備。

鼠標還搭載了SpeedNova無線連接技術,優化無線傳輸消除信號阻塞,以實現更低的延遲穩定的無線連接,底部還設計了兩顆DPI加減調節按鍵,鼠標預設了四個DPI檔位,DPI調節范圍為100~36000,可滿足各類玩家不同游戲場景的需求。

接下來對這款ROG月刃無線AP 36k鼠標進行簡單拆解,主要是查看內部布局以及機械微動開關更換方式,鼠標的拆解組裝步驟很簡單,只需取下底部的兩顆保護膠套與螺絲,然后稍加用力將上蓋翹起即可完成無損拆卸,鼠標的上蓋并無任何電子部件。

鼠標內部部件十分規整,采用傳統雙層PCB復式結構,上層的主PCB板是核心所在,包括傳感器、滾輪與側鍵,而左右兩顆主鍵設于副PCB板上,在主板上方是一顆370mAh的鋰電池,由于沒有合適的批頭無法取下電池,僅能從不同角度去觀察。

ROG月刃無線AP 36k鼠標的兩顆主鍵采用的是ROG自研機械微動開關,紅色半透明的外殼設計,具有七千萬次點擊壽命,接點采用增強鍍金工藝,減少30%的壓力偏差,在按壓手感方面更一致穩定,鼠標滾輪采用了來自凱華的編碼器。

前進后退兩顆側鍵采用了凱華的機械微動開關,在使用壽命與手感都有保證,微動開關直接焊接在主板無法拆卸更換,考慮到按鍵的使用頻率不算高,無法拆卸也是可以理解的,在PCB板的后部設計了一款貼片式RGB燈珠以實現背光效果。

兩顆主鍵的機械微動開關采用熱插拔式設計,替換的操作步驟很簡單,只需稍微用力取下鼠標原來的機械微動開關,然后插下隨機附帶歐姆龍微動開關即可,也可選擇不同品牌不同型號的微動開關,不僅能支持3PIN插腳的機械微動開關,還兼容歐姆龍的5PIN插腳光學微動開關。

若要對鼠標進行參數或燈效進行設置,需要配合專屬的驅動軟件,分別是ARMOURY CRATE奧創智控中心軟件以及AURA Creator軟件,前者為參數控制設置軟件,后者為RGB動態燈光效果編輯工具,需要兩個軟件相互配合才能展現出鼠標的全部功能。

Armoury Crate軟件可對華碩的硬件產品進行管理設置或者驅動更新軟件,本次僅針對ROG月刃無線AP 36k鼠標進行參數調整,在按鍵界面中可對按鍵滾輪自定義設置,可實現包括按鍵映射、宏命令觸發或快捷控制等功能,左主鍵是固定無法調整的。

在性能界面中對鼠標的DPI值與輪詢率(USB回報率)等項目進行調整,預設了四個DPI檔位供設置,DPI可調節范圍為100~36000,輪詢率提供了125Hz~1000Hz四個檔位可選,還有直線修正功能與定位角度調整功能可選,在游戲場景下不建議啟用直線修正功能。

在軟件中可選燈光模式較為豐富,包括恒亮、呼吸、彩色循環、觸發與電池等燈光模式,并可單獨調整燈光亮度與燈光顏色等參數,假如需要實現專屬的RGB燈光同步功能,可將燈光模式切換至Aura Sync,并在AURA Creator軟件中設置調整。

在軟件中還有表面校準功能,可根據不同類型不同材質的鼠標墊進行校準,并可設置鼠標的拉抬高度,假如配有華碩自家的鼠標墊可使用該功能進行校準,這樣會讓鼠標在快速滑動操作中更加精準,假如使用普通的鼠標墊就不需要設置了。

在電量界面中查看鼠標的當前剩余電量,并可設置低電量提示比例值,以及進入睡眠模式的等待時間,RGB動態燈光會明顯影響到鼠標的續航時間,若想獲得較長續航時間,可適當降低燈光亮度或者關閉燈光,縮短睡眠模式的等待時間,在軟件中也可進行升級鼠標固件。

在ARMOURY CRATE軟件中的RGB燈效設置項目較基礎,沒法發揮出鼠標應有的效果,假如要實現神光同步或者深度定制燈效,需要通過AURA Creator來實現,在啟動AURA Creator燈效控制軟件前,在ARMOURY CRATE控制軟件中將燈效模式設為AUra Sync,不然軟件會無法識別鼠標。

在AURA Creator燈效控制軟件當中擁有多種預設燈效,其中包括彩虹、繁星、潮汐與彗星等燈效,燈效設置方式與一般的視頻編輯軟件相似,新建一個圖層然后再將不同燈效加載其中,在圖層中可同時加載多種燈效,并可對燈效進行排序或細致化的修改。

信號同步項目中提供了音樂、智能與同步辨色三種效果,智能燈效是通過實時檢測系統溫度或使用率以顯示不同顏色,鼠標沒有相應的配置因此無法實現,僅能實現音樂燈效與同步辨色燈效兩種,設置完成后可實時預覽燈光效果,保存設置后鼠標上的RGB燈效會循環顯示。

音樂燈效是通過檢測系統當前播放的媒體音頻,轉換為動態燈光效果,鼠標上的RGB燈光會跟隨音樂律動,燈光色彩亮度均可自由定制,可設為單色或者彩色循環,而同步辨色燈效是實時檢測屏幕中所選定的區域的色彩,同步顯示在鼠標的RGB燈上。

將RGB燈效設為音樂模式與彩色循環,如想更沉靜一些可設為單色,RGB燈光亮度跟隨系統音樂的節奏來進行變化,而燈光色彩循環變幻,通過與AU軟件中電平圖進行對比,幾乎能實現同步跳動,展現出別樣的流光溢彩美感,對桌面進行裝點。

ROG月刃無線AP 36k鼠標的機身尺寸為118mm*62mm*39mm,而重量僅為75克,作為一款內置鋰電池的無線鼠標來說,在重量表現上是非常出彩的,這比大部分無線鼠標都要輕盈,對比本人正使用的游戲鼠標,在握持操控時有著明顯的重量差異感。

在實際握持手感方面,手掌屬于中大手型,鼠標采用了左高右低且圓潤飽滿的造型設計,在握持時有著極強的貼合感,適合于趴握或抓握的姿勢,鼠標的表面有著兩種不同的觸感,前部按鍵位置有種較為粗糙的觸感,而后部掌心位置卻是那種細膩的觸感。

游戲鼠標對手型小的用戶更加友好,而且自身重量十分輕盈,在握持快速甩動或提起移位時無需使用太多力氣,操控起來更加隨心穩定,長時間高強度使用沒什么不適感,尤其適合激烈的競技游戲,而且左側面的按鍵位置布局合理不易誤觸。

鼠標的左右兩顆主鍵下按手感輕盈干脆無空鍵程,觸底反饋扎實回彈迅速,即便快速用力連擊主鍵也沒粘滯感,滾輪的段落感清晰干脆,轉動阻尼感較輕,可很好的兼顧不同的使用場景,比如在游戲中通過滾輪切換裝備的明確界限感,在瀏覽較長的網頁或閱讀文檔時的輕快感。

鼠標搭載了AimPoint 36K光學傳感器,接下來通過軟件測試鼠標回報率的穩定性,波動范圍越小意味著性能越穩定,在2.4GHz無線連接,并在1000Hz回報率設置狀態下,軟件測試回報率的數值基本集中在1000Hz附近,波動范圍很小,鼠標能夠保持很高的穩定性。

總評

華碩ROG月刃無線AP 36k鼠標在視覺上給人一種素雅簡潔的感覺,在辦公室圖書館等場所使用也不會顯得突兀,而尾部那顆碩大的ROG眼睛尤為亮眼,可個性化定制各種酷炫RGB動態燈效以及神光同步,均彰顯了獨特辨識度表明了其血統。鼠標采用輕量化的設計,其整體重量僅為75克,輕盈的機身重量配合特氟龍材質腳貼,帶來更輕快靈活的操控體驗,長時間使用也有著十足舒適性,整體采用左高右低右手人體工學設計,在趴握時能完全貼合手掌,PBT材質主按鍵手指觸感干爽硬朗。

在硬件配置方面,鼠標搭載自研AimPoint 36K光學傳感器,DPI最高支持36000以及650IPS追蹤速度,輕松實現像素級別的精準微操,搭載了ROG自研機械微動開關,有著干凈利落的按壓手感,并支持熱插拔功能,可自由更換所喜好的微動開關,鼠標支持三種連接模式隨意連接設備不再受限,沒有線纜的束縛擺脫拖曳感,多種不同特性融合在一起,在玩電競游戲時,從滑動瞄準到點按觸發一氣呵成,沒有絲毫拖泥帶水的感覺,在游戲場景中是不可或缺的利器,綜合的使用體驗可以說表現得十分優秀。

5款好用逆天的小眾app ,相見恨晚!

作為一個手機重度愛好者,發掘寶藏好用的手機app,是我的生活興趣。今天就給大家推薦幾款app ,輕松提高生活幸福感!

1.你的日記

你的日記,一款治愈系筆記軟件。在這個私密的空間,日記上有過去的點滴記錄,可以幫助現階段的你,回憶那些年的那些事兒。

這一款界面配色清新治愈,很適合文藝風的小哥哥小姐姐們。你可以把它當做朋友圈,在上面分享喜怒哀樂;也可以看見陌生人的故事~它還設置了一個很有意思的平行空間,會隨機匹配和你一樣喜歡寫日記的人,如果你對匹配的人不感興趣,可以選擇斷聯,或者關閉這個功能。

2.一伴

現在很多年輕人工作忙,每天兩點一線,也沒有圈子可以交到新朋友。跟其他婚戀軟件相比,一伴app 打破了常見的聊天有限制的套路收費模式,軟件安全性更高,也更靠譜。

一伴婚戀的審核機制都是采用實名認證的,需要上傳真實身份信息才能注冊賬號,相對較高的注冊門檻決定了整體的用戶質量,里面有很多有學歷有涵養的單身男女。

另外,這款app 界面設計也很簡潔,使用過程中不會出現各種彈窗垃圾廣告,登錄成功后,可以放心瀏覽其他用戶的信息,它還有互相添加微信的功能,想要早點告別單身,真心找對象的話,可以嘗試這款app。

3.Time 時光記賬

為了更好的控制生活成本,改變消費大手大腳的毛病,學會記賬是第一步!所以給大家分享time時光記賬,超級奈斯。

它的界面簡潔干凈,沒有過多復雜元素的干擾,整體看起來非常清爽,男女都很適用。這款app可以多賬本多場景記錄,并且配合了時間軸,什么時候在哪里消費了多少錢,記賬的同時也在花樣記錄生活,當然,也能更清晰的知道錢的流向。

4.潮汐

你有多長時間不能專注做一件事情,又有多長時間沒有睡過一個好覺了,這款潮汐app ,集睡眠、冥想和專注于一體,可以幫助我們減少生活中的壓力。

潮汐頁面元素很簡單,主要包含了背景圖片,主題名稱以及主題音樂等,操作也就是左滑右滑,十分方便。因為主打舒緩身心壓力,是一款健康類App,所以它主要包含有關身心健康的減壓、睡眠、專注和呼吸四個模塊。因為有很多場景可以切換,大家根據自己的實際情況去選擇就好啦。

5.MOO音樂

現在很多年輕人,不管是在校的大學生還是上班的精英白領,都有一定的生活壓力,聽音樂是他們日常減壓的一種方式。

Momo音樂和常見的音樂app 相比,頁面設計更加簡潔,沒有過多復雜東西,背景多以黑色為主,它的曲庫由qq音樂提供,曲庫很豐富,不用擔心因為是小眾app 所以就搜不到想聽的歌曲,喜歡小眾風格的寶寶可以試試看!

如果你的手機還沒有這幾款好玩又實用的小眾App,快快收藏體驗一番吧~

盤點以下寶藏APP,打開你的新世界

推薦一:米糕天氣

這是一款風格特別可愛的天氣軟件;支持蘋果版。真的很神奇,上百張超級萌的插畫,每次天氣變化,時間變化,都有可能觸發不同的天氣畫面。還支持可愛的桌面小部件,可以在手機桌面放置多個不同大小的天氣小部件,讓你不用打開軟件也能萌起來。最后,以后會增加更多可愛的天氣圖片。該軟件并非完全免費,部分功能需要付費版才能使用。也就是說,它會讓您感到非常驚喜和期待,因為您下次打開軟件時,您可能會一次又一次地發現新的可愛天氣圖片。

推薦二:軟眠眠

這是一款完全免費的白噪聲和睡眠監測記錄軟件;支持安卓版和蘋果版。整個軟件就像一股清流,極簡,干凈,自然,舒服,每個界面都那么漂亮,精美的插圖,流暢的動畫,很有質感,很贊。支持時間段,目前支持2個場景和時間,雨天教室晚自習和雨天深夜自習。支持助眠板塊,包括改善睡眠和深度放松兩大類助眠音樂。改善睡眠包括:深度睡眠提高睡眠質量,深度睡眠清除負面情緒,高效午休消除困倦,深度睡眠高效休息,放松神經舒緩減壓,慢波睡眠冥想放松身心。支持午睡功能,可以設置時間,選擇助眠音樂,到時間叫醒你,也可以長按屏幕結束。支持睡眠記錄和睡眠報告功能,包括:入睡時間、起床時間、睡眠時間、深睡時間、淺睡時間、睡眠質量、鼾聲、夢話。

好了!以上就是今天的分享。

Node.js、Deno、Bun 6大典型場景性能大PK?

大家好,很高興又見面了,我是"web 前端分享",由我帶著大家一起關注前端前沿、深入前端底層技術,大家一起進步,也歡迎大家關注、點贊、收藏、轉發!

Node.js、Bun、Deno全面比較

Bun 是一個全新的、雄心勃勃的 JavaScript 工具集和運行時。 早期采用者一直在報告 Bun 的速度快到令人難以置信。 如此之快以至于它被一些人吹捧為 Node 殺手。 出于好奇,我決定親自測試一下 Bun,并將其與競爭對手Node、Deno進行全方位的性能比較。

Bun真的像人們說的那么快嗎? 它有多穩定? 它真的比 Node 好嗎? 我可以將它與持續集成一起使用嗎?接下來一一回答上面的問題。

1.Bun是什么?

Bun 是 JavaScript 家族的最新成員。 它在 2018 年問世時就掀起波瀾,可與 Deno 相媲美。Bun 位于 Node 和 Deno 之間。 Bun 與 Deno 一樣,開箱即用地支持 typescript,并提供對開發人員友好的功能,例如頂級等待(top-level awaits)和內置 Web API。

top-level awaits:允許在模塊的頂層獨立使用await命令

但是,與 Deno 不同的是,Bun 旨在成為 Node、Webpack、Babel、Yarn 和 PostCSS 的直接替代品,所有這些功能都在一個簡潔的包中一并提供。Bun 以 MIT 和 LGPL2 許可(由于集成了JavaScriptCore)協議發布,在撰寫本文時,版本為 v0.4.0。

Bun最新版本為V0.4.0

2.Bun 與 Deno 和 Node 相比如何?

雖然 Bun 受到 Node 和 Deno 的啟發,但它顯然也試圖通過提供工具集來改善開發體驗和生產力。Bun JavaScript 繼承了 Deno 的特性,例如作為單個二進制文件發布并具有原生 TypeScript 支持。下表為Bun和Deno的全方位比較:包括語言支持、Web API、NPM/Node兼容、權限管理、JS引擎、License等等諸多維度。

Bun和Deno的多維度比較

與 Node 相比,Bun 提供了更多的功能,同時努力保持與Node的兼容性。下表從Node/NPM兼容、live-reload、JS引擎、語言支持等諸多維度進行了全方位比較。

Bun和Node的比較

然而,處于測試階段的 Bun 仍然有一些方面的不足:

文檔有限,但 Bun 的 社區Discord 非?;钴S并且是一個很好的知識來源

沒有 Windows 支持(需要集成WSL)

Bun 在安裝包時可能會卡住,fetch 不可靠(雖然我從未發生過)

Bun 并非 100% 兼容 Node,也不是每個 npm 包都支持,例如Express 等

發布到 npm 注冊表(npm registry)不起作用

在 API 和 CLI 穩定之前,需要更多的break changes

Bun也有一些獨特的特征:

內置sqlite3模塊(MySQL和PostgreSQL也在計劃中)

開箱即用的 .env、.toml 和 CSS 支持(不需要額外的加載器)

React 和 Next.js 的內置框架支持和優化

內置外部函數接口 (FFI),用于對支持ABI 的語言(如 C、Rust 或 Kotlin)做底層調用

提供將錯誤復制為 Markdown 的格式選項(用于快速共享)

3.Bun真的這么快?

Bun 的誕生源于 Jarred Sumner 對一種語言執行速度的不懈追求:“我一直對 JavaScript 中的一切都如此緩慢感到非常沮喪。 我知道 JavaScript 可以更快”。 作為 Stripe 的前端開發人員,Jarred 知道快速迭代周期對于生產力的重要性。

開發者體驗很重要。 因此,Bun 的速度不局限于比其他運行時更快處理請求,還意味著它在安裝包、運行測試、打包和轉譯方面更快。

下面運行一些測試示例來了解 Bun相對于Deno、Node的實際性能。

3.1 Bun基準測試指標

與 Deno 和 Node 相比,Bun 的主頁報告性能提高了 3 倍和 4 倍。

Bun主頁性能描述

這些是我想親自測試的令人印象深刻的數字,所以讓我們在不同類別中運行一些基準測試:

作為包管理器的 Bun 與 npm

Bun 與 npm 作為腳本運行器

用于 CI/CD 工作流程的 Bun 與 npm

Bun vs. Node vs. Deno 用于復制大文件

Bun vs. Node vs. Deno 用于服務 HTTP 請求

下面是進行基準測試的軟件環境版本:

Node.js v16.16.0

npm v8.11.0

Deno v1.23.4

Bun v0.1.4

下面是用于基準測試的工具:

oha:v0.5.3

hyperfine:v1.14.0

Semaphore CI/CD:在 e1-standard-2 和 Ubuntu 20.04 上運行測試。

MacBook Pro M1 2020,MacOS 12.4

您可以在文末查看用于每個案例的腳本,如果可能,我會嘗試直接比較 Bun、Deno 和 Node。然而,Deno 從未打算作為 Node 的直接替代品,因此它沒必要參與所有測試。

3.2 使用 Bun 管理包

在第一個測試中,我們將比較 Bun JavaScript 與 npm 在創建新項目方面的表現。如下所示,npm 需要 49 秒才能創建一個空的 React 應用程序。

time npx create-react-app myappCreating a new React app in /code/myapp. Installing packages. This might take a couple of minutes.Installing react, react-dom, and react-scripts with cra-template...added 1392 packages in 38s 16.50s user 6.33s system 46% cpu 49.016 total

Bun發布的時候集成了bun create命令,能夠執行上面相同的操作:

$ time bun create react myapp[package.JSON] Detected React - added "react-refresh"bun install v0.1.4 Resolving [1/4][29.00ms] git react-refresh@0.10.0 typescript@4.7.4 react@18.2.0 react-dom@18.2.0 web-vitals@2.1.48 packages installed [2.39s]2.48s user 0.30s system 66% cpu 4.160 total

Bun 只需不到一秒鐘的時間即可完成項目設置, 這是一個很大的性能提升。 但這是一個有效的比較嗎? 經過進一步檢查,我們發現:

npm 安裝了 1,392 個包,node_modules 大小為 250 MB

Bun 只安裝了 8 個包,總大小為 72 MB

我們在這里就像將蘋果與橙子進行比較,因為 Bun 的實例化 React 模板更小。 令人驚訝的是,它仍然非常適合開發。 我可以運行 bun dev 立即開始,Bun 也會在每次代碼更改時自動重新加載。

然而,Bun 的啟動器 React 無法創建生產構建。 為此,我們需要添加react-script腳本:

$ bun add react-scripts -d

新的依賴項安裝了 1,133 個以上的包,使 node_modules 的總大小達到 298 MB?,F在處于NPM和Bun的對等比較位置,在使用每種工具創建新應用程序 10 次后,我們有一些數字可以拿來比較。

創建新應用程序 10 次得到的性能數據

所有測試都是使用 npm 和 bun 在緩存情況下完成的,這解釋了為什么 npm 第二次表現得更好。

Bun在包管理方面至少比 npm 快 6 倍

在這個測試中,Bun JavaScript 看起來相當不錯:它至少比 npm 快 6 倍。但是,Bun 有時會鎖定(lock up,一個已知問題)。此外,npm 會不時顯著減慢速度,但是我無法定位造成這種情況的原因。

3.3 使用 Bun 和 npm 添加和刪除包

接下來測試一下npm和Bun添加和刪除包需要多長時間。我將使用 npm 創建的 React App 作為測試項目。 使用每個工具刪除并重新添加 webpack 10 次后,我得到以下結果:

刪除并重新添加 webpack 10 次性能數據

在安裝包方面 Bun 比 npm 快 20 倍

唯一的問題是 Bun 的包管理并不是 100% 兼容 npm:

Bun 使用二進制鎖文件而不是 package-lock.json,但它可以使用 bun install -y 打印出與 Yarn 兼容的 JSON 鎖文件。

Bun 不會像 npm 那樣默認安裝對等依賴(peer dependencies)。 因此,您最終可能會在 node_modules 文件夾中得到一組與預期不同的包。

3.4 Bun 作為任務執行器

不幸的是,Bun 的運行時組件沒有實現足夠的 Node API 來執行復雜的事情,例如構建 React 項目或運行端到端測試。 不過,Bun 現在可以在一個方面提供幫助:即,作為 npm run 的替代品。

npm 的問題在于它甚至需要大約 150 到 200 毫秒才能啟動。 這聽起來可能沒什么大不了的,但是當您頻繁運行腳本時,您會感覺到時間在一點一點地消耗工作效率。

bun 沒有這個啟動問題,所以 bun run test 應該至少比 npm run test 快幾毫秒。 我們可以通過運行同一組腳本 50 次并對結果取平均值來確認:

運行npm run 50次性能數據

差異是由于 npm 啟動時間,在這兩種情況下,測試本身都是使用 Node 執行的

3.5 大文件拷貝

在這個測試中,我想比較每個運行時如何處理復制大文件的任務,這是一個花費了大量優化工作的領域。

拷貝1GB以上大小文件

我用 Bun、Deno、Node 和 cp 方法復制了相同的隨機生成的 1GB 文件以進行測試。每個工具運行 20 次后,結果如下:

20次復制1GB大小文件性能數據

Bun 和 Deno 在復制大文件時處于絕對領先地位

Bun和Deno的表現接近,都贏了cp近50%。 Node 遠遠落在后面,因為它需要 3 倍多的時間來完成同樣的任務。

3.6 HTTP 決戰:Bun vs Deno vs Node

Bun 的 JavaScript runtime 包括一個工作的 HTTP 服務器,它提供了一個與 Node 和 Deno 進行比較的基準測試機會。 對于測試,將使用 Bun 的示例腳本來驅動測試。 我將使用 oha 生成和測量流量。

HTTP請求性能比較

該基準測試運行 200 萬個請求,并發數為 50。對于所有情況,都啟用了 HTTP keepalive。

HTTP請求性能數據

處理 HTTP 請求時,Bun 的速度是 Node 的兩倍,比 Deno 快 1.7 倍

Deno 的性能比 Node 高 19%,但 Bun 以兩倍的速度擊敗了競爭對手Deno。

3.7 用 Bun 加速 CI/CD

已經確認 Bun 可以為開發機器帶來優勢,但是使用它來加速 CI/CD 是否有意義? 這是一個至關重要的方面,因為持續集成管道的速度是快速開發周期的決定性因素。

我在 Semaphore 的 JavaScript 演示項目上配置了兩個分支:

master 按照最初設計使用 npm 運行所有腳本。

bun 分支用 Bun 替換了 npm。 需要明確的是,我們只是將 Bun 用作任務運行器,而不是運行時。 在這兩種情況下,測試和構建步驟仍在由 Node 執行。

Bun 會加速 CI/CD 管道嗎? 在每 10 分鐘運行兩個分支并持續 5 小時,選取 33 個樣本后,結果如下:

持續集成性能數據

用 Bun 替換 npm 使我的管道速度提高了 20%

嘗試使用 Bun 驅動 CI/CD ,我學到了一些東西:

與緩存 node_modules 文件夾不同,保存和恢復位于 $HOME/.bun/install/cache 的 Bun 全局緩存會更快

Bun 附帶了一個實驗性的測試運行器,它比 Jest 快得多。 不幸的是,我無法讓它發揮作用

有很大的改進潛力, 一旦 Bun runtime 可以取代 Node,CI/CD 速度可能會大幅提升

4.結論

Bun很快,你可以在一秒鐘內做更多的事情。那么Bun 會取代 Node 嗎? 現在說還為時過早! 當 Deno 出現時,它沒有殺死 Node,當然殺死Node也不是Deno的初衷。 但 Bun JavaScript 的目標是兼容性,因此它有更好的機會。 而且,正如我們所見,即使在這個早期階段,它也可以是一個非常強大的工具。

參考資料

https://github.com/TomFern/benchmarks-javascript (文中測試代碼示例)

https://semaphoreci.com/blog/javascript-bun

https://discord.com/invite/CXdq2DP29u

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!