1
我想爲vtd-xml實現一個簡單的包裝。由於這個包裝器允許隨機訪問,我選擇使用VTDNav.cloneNav來允許包裝器同時保存和遍歷遊標到XML的不同部分。我的問題是:Object.equals兩個VTDNav實例和VTDNav.cloneNav的代價
- 我知道克隆VTDNav實例將會有性能損失,但一般來說,我們在這裏討論的是多少?一旦我完成了包裝,我可能會做一些基準測試,但也許一些關於成本的信息可能會讓我改變一些設計決策(也許只使用一個VTDNav並且只根據請求克隆)。
- 如何比較VTDNav的兩個克隆實例並查看它們是否指向同一個節點?我注意到BookMark類有一個equals和deepEquals方法,但我不想在不需要的時候引入更多的類,更多的對象實例和更多的引用。我可以簡單地比較兩個實例的當前索引嗎?
謝謝!我已經實施了AutoPilot reusage的初始版本,性能結果非常好!幾乎到了這樣的程度,我不認爲它可以在這樣的速度和內存使用情況下正常運行:)我必須說,我對爲什麼這個庫不是更多使用和更知名的問題感到困惑。祝你今後順利通過,這真是太棒了! – buftlica
我喜歡這樣一個事實,即您已經深入瞭解代碼以理解實現,比如bookMark,vtd-xml背後的概念非常簡單,它的工作原理可以用一句話來概括:避免創建對象。 –
@ buftlica--一個問題:你看過vtd-xml的索引功能並嘗試將它用於你的用例嗎? –