[發(fā)明專利]利用數(shù)組池優(yōu)化javaScript/typeScript程序內(nèi)存性能的方法有效
| 申請?zhí)枺?/td> | 202110291265.1 | 申請日: | 2021-03-18 |
| 公開(公告)號: | CN112965822B | 公開(公告)日: | 2022-08-12 |
| 發(fā)明(設(shè)計)人: | 姚建國;張宇燊 | 申請(專利權(quán))人: | 上海交通大學(xué) |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 上海漢聲知識產(chǎn)權(quán)代理有限公司 31236 | 代理人: | 胡晶 |
| 地址: | 200240 *** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 利用 數(shù)組 優(yōu)化 javascript typescript 程序 內(nèi)存 性能 方法 | ||
1.一種利用數(shù)組池優(yōu)化javaScript/typeScript程序內(nèi)存性能的方法,其特征在于,針對javaScript/typeScript動態(tài)語言處理類型化數(shù)組時,執(zhí)行包括:
數(shù)組池建立步驟:預(yù)先建立數(shù)組池;
數(shù)組申請步驟:將創(chuàng)建二進制數(shù)組的操作改為向數(shù)組池申請數(shù)組;
數(shù)組歸還步驟:將銷毀二進制數(shù)組的操作改為向數(shù)組池歸還數(shù)組;
所述數(shù)組池包括:內(nèi)存、Map對象、租借接口、返還接口以及檢查策略函數(shù);
其中,事先申請的內(nèi)存為整個程序運行時的數(shù)組資源集中地;Map對象用以記錄數(shù)組資源的使用情況;租借接口、返還接口以及檢查策略函數(shù)應(yīng)用于javascript/typescript應(yīng)用程序中;
所述租借接口包括租借接口函數(shù),所述租借接口函數(shù)的函數(shù)參數(shù)為數(shù)組類型和長度;
所述租借接口函數(shù)還會在數(shù)組池內(nèi)除已租借的數(shù)組資源以外,剩余的未租借數(shù)組資源不滿足申請條件的情況下執(zhí)行檢查策略函數(shù);執(zhí)行完檢查策略函數(shù)后的返回值為直接使用的類型化數(shù)組;
所述返還接口包括返還接口函數(shù),所述返還接口函數(shù)能夠與主線程程序并發(fā)運行;
創(chuàng)建數(shù)組資源存放二進制數(shù)據(jù),向數(shù)組池申請租借一段長度的類型化數(shù)組,具體步驟如下:
步驟1.1:與租借接口和返還接口進行接口交互,提供需求的類型化數(shù)組長度和具體類型;
步驟1.2:判斷內(nèi)存數(shù)據(jù)塊剩余部分是否滿足申請者的需求;
步驟1.3:在Map對象中記錄當(dāng)前指針位置和申請的類型化數(shù)組長度;
步驟1.4:基于這部分內(nèi)存生成類型化數(shù)組,并將指針向后移動至未分配內(nèi)存的最前端;
步驟1.5:將類型化數(shù)組資源返回給申請者;
包括數(shù)組資源的生命周期結(jié)束后,向數(shù)組池返還資源,具體步驟如下:
步驟2.1:調(diào)用接口函數(shù)執(zhí)行返還租借的類型化數(shù)組,之后的過程與主線程并發(fā)運行;
步驟2.2:利用Map對象刪除對應(yīng)的租借記錄;
步驟2.3:遍歷Map對象,找出偏移地址和便宜長度之和最大的記錄,將這個值作為當(dāng)前數(shù)組池中已租借和未租借內(nèi)存資源的分界,將指針移動至分界處。
2.根據(jù)權(quán)利要求1所述的利用數(shù)組池優(yōu)化javaScript/typeScript程序內(nèi)存性能的方法,其特征在于,所述數(shù)組資源的表現(xiàn)形式為ArrayBuffer的二進制數(shù)組對象。
3.據(jù)權(quán)利要求1所述的利用數(shù)組池優(yōu)化javaScript/typeScript程序內(nèi)存性能的方法,其特征在于,所述步驟1.2中,當(dāng)內(nèi)存數(shù)據(jù)塊剩余部分不滿足申請者的需求時,調(diào)用檢查策略函數(shù)執(zhí)行檢查,檢查指針前部分是否存在未租借的資源以滿足申請者的需求。
4.據(jù)權(quán)利要求3所述的利用數(shù)組池優(yōu)化javaScript/typeScript程序內(nèi)存性能的方法,其特征在于,遍歷排序過的租借記錄,計算兩個記錄之間是否存在滿足要求的未分配資源,如果找到了,就將資源分給申請者。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海交通大學(xué),未經(jīng)上海交通大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110291265.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種車輛定位校驗方法、系統(tǒng)及裝置
- 下一篇:泡罩成型模具裝置





