System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 久久人妻内射无码一区三区,国产精品无码日韩欧,国产激情无码一区二区app
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種代碼優化方法、優化裝置、計算機設備和存儲介質制造方法及圖紙

    技術編號:43722403 閱讀:14 留言:0更新日期:2024-12-20 12:50
    本發明專利技術公開了一種代碼優化方法、優化裝置、計算機設備和存儲介質,其中一實施例的代碼優化方法包括:根據預設置的搬移指令集合遍歷待優化代碼,獲取所述待優化代碼中與所述搬移指令集合中的指令匹配的目標搬移指令,其中,所述搬移指令集合包括在不同級別緩存間搬移數據的搬移指令,所述目標搬移指令位于至少兩層循環中;查找所述目標搬移指令在其位于的所述至少兩層循環中的關聯循環變量;根據所述關聯循環變量在所述至少兩層循環中的位置,確定所述目標搬移指令的優化位置,并將所述目標搬移指令移至所述優化位置。本發明專利技術提供的代碼優化方法能夠有效加快代碼運行速度,具有實際應用價值。

    【技術實現步驟摘要】

    本專利技術涉及計算機,特別是涉及一種代碼優化方法、優化裝置、計算機設備和存儲介質


    技術介紹

    1、目前,影響代碼運算速度的一個原因是處理器核從緩存中讀寫數據導致的,尤其是處理器核從不同級別緩存中讀寫數據的時間不同,越靠近處理器核的緩存讀寫速度越快,越遠離處理器核的緩存讀寫速度越慢。

    2、因此,針對處理器核在不同級別緩存的讀寫速度,如何改善代碼中的讀寫邏輯,降低重復的冗余讀寫操作,成為本領域技術人員進行代碼優化所亟待解決的問題。


    技術實現思路

    1、為了解決上述問題至少之一,本專利技術第一方面提供一種代碼優化方法,包括:

    2、根據預設置的搬移指令集合遍歷待優化代碼,獲取所述待優化代碼中與所述搬移指令集合中的指令匹配的目標搬移指令,其中,所述搬移指令集合包括在不同級別緩存間搬移數據的搬移指令,所述目標搬移指令位于至少兩層循環中;

    3、查找所述目標搬移指令在其位于的所述至少兩層循環中的關聯循環變量;

    4、根據所述關聯循環變量在所述至少兩層循環中的位置,確定所述目標搬移指令的優化位置,并將所述目標搬移指令移至所述優化位置。

    5、在本實施例中,通過遍歷待優化代碼找出待優化代碼中所有位于循環中的目標搬移指令,查找每一個目標搬移指令在所述至少兩層循環中的關聯循環變量,并利用關聯循環變量在循環中的位置判斷各目標搬移指令的優化位置并移至優化位置。本實施例通過將至少兩層循環中的目標搬移指令搬移至優化位置,減少目標搬移指令的執行次數,從而有效提高代碼的執行效率,加快代碼的運行速度。

    6、進一步的,所述查找所述目標搬移指令在其位于的所述至少兩層循環中的關聯循環變量包括:

    7、根據所述目標搬移指令的指令參數獲取所述目標搬移指令的起始地址值和搬移長度;

    8、查找所述至少兩層循環中各層循環的循環變量與所述起始地址值和搬移長度相關的循環變量,確定為所述目標搬移指令在所述至少兩層循環中的關聯循環變量。

    9、在本實施例中,根據至少兩層循環,判斷各目標搬移指令的起始地址值和搬移長度、與每一層循環的循環變量是否相關,從而準確地獲取與目標搬移指令關聯的關聯循環變量,以便于后續根據關聯循環變量確定目標搬移指令的優化位置。

    10、進一步的,所述根據所述關聯循環變量在所述至少兩層循環中的位置,確定所述目標搬移指令的優化位置包括:

    11、將所述關聯循環變量中最靠近所述目標搬移指令的循環變量所在的循環層設置為所述目標搬移指令的優化位置。

    12、在本實施例中,根據與目標搬移指令相關聯的關聯循環變量,在至少兩層循環從內向外的方向上,確定目標搬移指令的優化位置,即關聯循環變量中位于最內側的循環變量對應的循環層為優化位置。本實施例通過獲取各目標搬移指令的優化位置,能夠避免因目標搬移指令設置在至少兩層循環中相對于優化位置的內側循環層、而導致各目標搬移指令進行冗余的數據搬移,從而有效提高代碼的執行效率,加快代碼的運行速度。

    13、進一步的,所述方法還包括:確定所述目標搬移指令在其位于的所述至少兩層循環中沒有與所述目標搬移指令相關的關聯循環變量,

    14、所述根據所述關聯循環變量在所述至少兩層循環中的位置,確定所述目標搬移指令的優化位置包括:將所述至少兩層循環的外部確定為所述目標搬移指令的優化位置。

    15、在本實施例中,針對目標搬移指令不具有與至少兩層循環相關聯的關聯循環變量,即目標搬移指令的起始地址值和搬移長度與至少兩層循環無關,則將各目標搬移指令的優化位置設置為至少兩層循環的外部,能夠避免因目標搬移指令設置在至少兩層循環中而導致存在冗余的數據搬移,從而有效提高代碼的執行效率,加快代碼的運行速度。

    16、進一步的,所述查找所述目標搬移指令在其位于的所述至少兩層循環中的關聯循環變量包括:

    17、按照從內向外的方向查找所述至少兩層循環中各層循環的循環變量與所述起始地址值和搬移長度相關的循環變量。

    18、在本實施例中,在遍歷目標搬移指令在至少兩層循環中各循環層的關聯循環變量時,按照從內向外的方向順序查找,找到的第一個與目標搬移指令相關的關聯循環變量所在的循環層即為目標搬移指令的優化位置。

    19、進一步的,所述不同級別緩存為所述待優化代碼運行的處理器核的所屬芯片的板卡上的緩存,包括:距離所述處理器核由近及遠方向的核內緩存、核間緩存和片外緩存。在本實施例中,針對板卡上的緩存架構,按照緩存架構的緩存分布確定目標搬移指令,從而根據待優化代碼所運行的環境進行針對性優化。

    20、進一步的,所述目標搬移指令為pld指令或dma指令。

    21、本專利技術第二方面提供一種代碼優化裝置,包括:

    22、指令獲取單元,被配置為根據預設置的搬移指令集合遍歷待優化代碼,獲取所述待優化代碼中與所述搬移指令集合中的指令匹配的目標搬移指令,其中,所述搬移指令集合包括在不同級別緩存間搬移數據的搬移指令,所述目標搬移指令位于至少兩層循環中;

    23、查找單元,被配置為查找所述目標搬移指令在其位于的所述至少兩層循環中的關聯循環變量;

    24、優化單元,被配置為根據所述關聯循環變量在所述至少兩層循環中的位置,確定所述目標搬移指令的優化位置,并將所述目標搬移指令移至所述優化位置。

    25、在本實施例中,通過指令獲取單元遍歷待優化代碼找出待優化代碼中所有位于循環中的目標搬移指令,通過查找單元查找每一個目標搬移指令在所述至少兩層循環中的關聯循環變量,并通過優化單元利用關聯循環變量在循環中的位置判斷各目標搬移指令的優化位置并移至優化位置。本實施例通過將至少兩層循環中的目標搬移指令搬移至優化位置,減少目標搬移指令的執行次數,從而有效提高代碼的執行效率,加快代碼的運行速度。

    26、本專利技術第三方面提供一種計算機可讀存儲介質,其上存儲有計算機程序,該程序被處理器執行時實現如第一方面所述的方法。

    27、本專利技術第四方面提供一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述程序時實現如第一方面所述的方法。

    本文檔來自技高網...

    【技術保護點】

    1.一種代碼優化方法,其特征在于,包括:

    2.根據權利要求1所述的代碼優化方法,其特征在于,所述查找所述目標搬移指令在其位于的所述至少兩層循環中的關聯循環變量包括:

    3.根據權利要求1或2所述的代碼優化方法,其特征在于,所述根據所述關聯循環變量在所述至少兩層循環中的位置,確定所述目標搬移指令的優化位置包括:

    4.根據權利要求1或2所述的代碼優化方法,其特征在于,所述方法還包括:確定所述目標搬移指令在其位于的所述至少兩層循環中沒有與所述目標搬移指令相關的關聯循環變量,

    5.根據權利要求2所述的代碼優化方法,其特征在于,所述查找所述目標搬移指令在其位于的所述至少兩層循環中的關聯循環變量包括:

    6.根據權利要求1-5中任一項所述的代碼優化方法,其特征在于,所述不同級別緩存為所述待優化代碼運行的處理器核的所屬芯片的板卡上的緩存,包括:距離所述處理器核由近及遠方向的核內緩存、核間緩存和片外緩存。

    7.根據權利要求1-6中任一項所述的代碼優化方法,其特征在于,所述目標搬移指令為PLD指令或DMA指令。

    8.一種代碼優化裝置,其特征在于,包括:

    9.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,該程序被處理器執行時實現如權利要求1-7中任一項所述的方法。

    10.一種計算機設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執行所述程序時實現如權利要求1-7中任一項所述的方法。

    ...

    【技術特征摘要】

    1.一種代碼優化方法,其特征在于,包括:

    2.根據權利要求1所述的代碼優化方法,其特征在于,所述查找所述目標搬移指令在其位于的所述至少兩層循環中的關聯循環變量包括:

    3.根據權利要求1或2所述的代碼優化方法,其特征在于,所述根據所述關聯循環變量在所述至少兩層循環中的位置,確定所述目標搬移指令的優化位置包括:

    4.根據權利要求1或2所述的代碼優化方法,其特征在于,所述方法還包括:確定所述目標搬移指令在其位于的所述至少兩層循環中沒有與所述目標搬移指令相關的關聯循環變量,

    5.根據權利要求2所述的代碼優化方法,其特征在于,所述查找所述目標搬移指令在其位于的所述至少兩層循環中的關聯循環變量包括:

    6.根據權利要求...

    【專利技術屬性】
    技術研發人員:顧思義
    申請(專利權)人:廣州希姆半導體科技有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 天天看高清无码一区二区三区| 免费无码看av的网站| 久久久91人妻无码精品蜜桃HD| 少妇无码AV无码一区| 亚洲天堂2017无码中文| 无码人妻精品一二三区免费| 2014AV天堂无码一区| 人妻丰满熟妇AV无码区| 国产精品VA在线观看无码不卡| 亚洲Av永久无码精品一区二区| 中文字幕av无码一区二区三区电影| 99久久无码一区人妻a黑| 一本色道无码道在线观看| 老司机无码精品A| 亚洲精品无码av中文字幕| 久久精品九九热无码免贵| 久久久久久国产精品无码下载| 欧洲黑大粗无码免费| 69堂人成无码免费视频果冻传媒| 在线观看片免费人成视频无码| 蜜臀亚洲AV无码精品国产午夜.| 久久久久久无码Av成人影院| 无码乱码观看精品久久| 日韩激情无码免费毛片| 无码人妻啪啪一区二区| 久久AV无码精品人妻糸列| 无码137片内射在线影院| 国产三级无码内射在线看| 亚洲精品无码午夜福利中文字幕 | 久久久久亚洲AV片无码| 宅男在线国产精品无码| 人妻av无码专区| 精品无码人妻久久久久久| 国产精品亚洲αv天堂无码| 人妻中文字幕AV无码专区| 国产午夜无码视频免费网站| av中文无码乱人伦在线观看| 韩国无码AV片在线观看网站| 亚洲不卡无码av中文字幕| 亚洲国产精品成人AV无码久久综合影院 | 亚洲精品无码一区二区|