我目前正在使用vcache-trie模塊開展一個項目。我正在用lookupPrefix
函數來測試一個內部研究的執行速度。爲Trie創建一個NFData實例
這是標準創建用於此目的的基準:
bench "trieSearch" $ nf (lookupPrefix (pack "ab")) trie
凡在標準的環境中創建索引樹。這個特里的類型是Trie Int
。
由於環境評估爲正常形式,我需要爲此特定類型創建一個NFData的實例。
此特定案例的trie的內容是[(ByteString,Int)],我假設NFData的實例應評估每個元組,但我不知道如何繼續。
任何幫助將不勝感激,感謝您花時間閱讀我的問題。
感謝您的迴應,它的工作與解決方法。建議我會聯繫維護人員。 – Barbrousse
@Barbrousse,我不確定在這種情況下,'NFData'實例是否能真正幫到你。從文檔:「VRefs的主要動機是支持內存緩存值,即非常大的數據結構,不應該一次全部存儲在RAM中。」我認爲你不可能通過對結果執行'deepseq'來獲得真正有意義的操作表現。也就是說,該包應該可能提供一個'NFData'實例。 – dfeuer
@dfeuer感謝您的迴應,您是否有任何想法可以爲這種情況創建更準確的測試? – Barbrousse