0
我不得不稱呼它一堆,所以我想知道 如果我應該做一些優化,像一個符號和名字的alist。Elisp:符號名稱是O(1)操作,名稱長度是多少?
我瞥了一眼C源代碼,它似乎只是一個指針操作,但我可能誤解了,我很想知道。
我不得不稱呼它一堆,所以我想知道 如果我應該做一些優化,像一個符號和名字的alist。Elisp:符號名稱是O(1)操作,名稱長度是多少?
我瞥了一眼C源代碼,它似乎只是一個指針操作,但我可能誤解了,我很想知道。
symbol-name
不會複製,所以這是O(1)操作,是的。如果你做(aset (symbol-name 'car) 1 ?d)
,它可能是問題的根源。
'symbol-name'以字符串形式返回符號的名稱。你期望什麼樣的名字長度依賴關係?除了可能的價值副本。 – pmr
該值的副本是O(N)操作w.r.t.名字長度。 –
那麼,你有你的答案?但是你不能真正依賴一個副本,因爲它可以被省略。 – pmr