Lic*_*seQ 11 c# arrays managed data-structures
Judy数组是快速数据结构,可以表示稀疏数组或一组值.是否有针对C#等托管语言的实现?谢谢
Shu*_*oUk 16
值得注意的是,如果你正在谷歌搜索它们,这些通常被称为Judy Trees或Judy Tries.
我也寻找.Net实现但没有找到任何结果.另外值得注意的是:
该实现围绕有效的高速缓存使用而大量设计,因为这样的实现细节可能高度依赖于子结构内使用的某些构造的大小.在这方面,.Net管理的实施可能有些不同.
我可以看到它有一些重大的障碍(可能还有更多我的短暂扫描错过了)
您可以使用库并将C代码包装在C++/CLI中(可能只是在内部保存一个指针,该指针是c api trie并且所有c调用都指向此代码).这将提供简单的实现,但本机实现的链接库可能存在问题(可能是内存分配).你也可能需要处理转换时将.Net字符串转换为普通旧字节*(或直接使用字节)
And*_*lke 12
Judy真的不适合托管语言.我不认为你能够使用像SWIG这样的东西并自动完成第一层.
我编写了PyJudy,最后我不得不做一些非平凡的API更改以适应Python.例如,我在文档中写道:
JudyL数组将机器单词映射到机器单词.在实践中,单词存储无符号整数或指针.PyJudy支持所有四个映射作为不同的类.
几年来我没有看过代码,所以我对它的记忆非常朦胧.这是我的第一个Python扩展库,我记得我将一种用于代码生成的模板系统整合在一起.现在我会用像genshi这样的东西.
我不能指出Judy的替代品 - 这就是我搜索Stackoverflow的原因之一.
编辑:我被告知我的文档中的时序编号与Judy的文档建议不同,因为Judy是为64位缓存行开发的,而我的PowerBook只有32位.
其他一些链接:
最后一个具有不同高性能trie实现的比较数字.
| 归档时间: |
|
| 查看次数: |
3527 次 |
| 最近记录: |