簡體   English   中英

如何確定 memory 組織是否遵循行主順序或列主順序?

[英]how to determine if a memory organization follows row major order or column major order?

如何確定 memory 組織遵循行優先順序還是列優先順序? 我學習了這個新概念,並且知道如果我們知道 memory 組織遵循行優先順序或列優先順序,我們可以使我們的數組以這樣一種方式運行,即通過減少代碼的數量來提高代碼性能頁面錯誤。 但我無法找到“如何確定 memory 組織是否遵循行優先順序或列優先順序?”。

在某種程度上,這取決於您使用的語言......您沒有使用 state。

您可以通過創建一個 2 行 3 列數組並假設它將以行優先順序存儲,然后進行檢查來進行測試。 所以創建這個:

0 1 2
3 4 5

現在查看 memory 中的字節。 如果他們 go:

0 1 2 3 4 5

它按行優先順序排列。 如果他們 go:

0 3 1 4 2 5

您的程序使用列優先順序。

通常,C 使用行優先排序,fortran 使用列優先排序。 我說這取決於“在某種程度上” ,因為例如,對於 Python,您可以指定排序,甚至可以在同一程序中根據具體情況混合它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM