快手上線鴻蒙應(yīng)用高性能解決方案:數(shù)據(jù)反序列化性能提升90%

近日,快手在Gitee平臺上線了鴻蒙應(yīng)用性能優(yōu)化解決方案“QuickTransformer”,該方案針對鴻蒙應(yīng)用開發(fā)中廣泛使用的三方庫“class-transformer”進行了深度優(yōu)化,有效提升了其數(shù)據(jù)反序列化性能,在典型場景下能夠降低約90%的數(shù)據(jù)轉(zhuǎn)換耗時,為鴻蒙應(yīng)用帶來了更流暢的用戶體驗和更敏捷的交互響應(yīng)。

圖片1.png

在鴻蒙應(yīng)用開發(fā)過程中,“class-transformer”三方庫被廣泛應(yīng)用于將普通對象(如 JSON 數(shù)據(jù))與類實例進行互轉(zhuǎn),是實現(xiàn)面向?qū)ο缶幊膛c數(shù)據(jù)序列化解耦的核心工具。隨著業(yè)務(wù)復(fù)雜度的提升,該庫在反序列化過程中逐漸暴露出性能瓶頸,影響用戶核心體驗。因此,對“class-transformer”進行優(yōu)化,將帶來明顯的性能收益。然而,由于“class-transformer”在應(yīng)用中廣泛、深度使用,改造難度較大,且由于多業(yè)務(wù)場景間 model 類存在高度耦合,難以按業(yè)務(wù)場景維度進行漸進式改造優(yōu)化。

在此背景下,“QuickTransformer”應(yīng)運而生。它基于“class-transformer”的裝飾器使用代碼,可在編譯時生成輔助函數(shù),并在運行時通過hook方式自動替換原有反序列化調(diào)用邏輯,實現(xiàn)性能加速。同時它還支持按model類粒度配置開啟,在多個model類耦合的場景,可以只對部分model類進行優(yōu)化。

該方案最大的亮點在于無需修改“class-transformer”的使用代碼即可實現(xiàn)性能優(yōu)化,既保持了對原有開發(fā)模式的兼容性,又大幅提升了運行效率,整體改造過程無侵入、低成本、低風(fēng)險,適用于已有項目的快速集成與上線。

在實際應(yīng)用中,“QuickTransformer”也展現(xiàn)出卓越的性能提升效果。此前,快手主APP中大規(guī)模使用“class-transformer”,主要集中在反序列化方面,包含成員變量rename、成員變量類型轉(zhuǎn)換、成員變量層級轉(zhuǎn)換、添加成員函數(shù)等場景。在經(jīng)過“QuickTransformer”改造優(yōu)化后,這些典型場景下的數(shù)據(jù)轉(zhuǎn)換操作時間普遍降低90%,從100ms降低到10ms以內(nèi),顯著緩解了頁面滑動卡頓、點擊響應(yīng)慢等性能問題。

目前,“QuickTransformer”已在Gitee平臺上線并開源,開發(fā)者可到Gitee平臺查看源碼參與共建,共同打造更多高性能、高質(zhì)量的鴻蒙應(yīng)用。未來,華為還將聯(lián)合伙伴持續(xù)共建創(chuàng)新,面向底座技術(shù)、通用能力、垂類行業(yè)等場景推出系列開發(fā)者場景化解決方案,不斷提升鴻蒙應(yīng)用的創(chuàng)新體驗和開發(fā)效率,與廣大開發(fā)者共建繁榮的鴻蒙生態(tài)。

本文轉(zhuǎn)載自:,不代表科技訊之立場。原文鏈接:https://www.guangcz.com/v1/news/info?news_id=6462

陳晨陳晨管理團隊

相關(guān)推薦

發(fā)表回復(fù)

登錄后才能評論