Der*_*unk 1 c# performance persistence trie data-structures
这听起来像一个简单的问题,但我不知道如何搜索它的答案.
我在C#中有一个trie实现,它将存储来自字典文件的大约80K字.加载所有这些单词(超过5分钟)需要很长时间.我想知道,"持久化"这些数据的最佳方法是什么,所以每次启动应用程序时我都不必重新加载所有单词?
谢谢.
与所有其他性能问题一样,理想的解决方案将来自分析您当前的解决方案以及您提出的其他候选解决方案.瓶颈在哪里?I/O?翻译文字?在trie中形成链接?如果不了解您的性能目标,当前使用的特性和瓶颈的性质,将难以提出具体建议.
需要考虑的问题:
一种可能的策略:使用最常用单词的1,000(左右)创建并保留"最常用单词"字典.在启动时将这些单词加载到trie中,并在另一个线程上生成完整字典的加载; 在读取新单词时逐步添加到创建的trie.