用于操作cidr集的前缀树(trie)

cidrtrie的Python项目详细描述


cidrtrie是前缀树和基于前缀匹配的IP地址分类库的简单实现。与其他实现(如[py基数](http://www.mindrot.org/projects/py-radix/))不同,这是纯python,目的是尽可能简单。

##为什么?## 此实现为类似Internet路由的问题提供了渐近性能改进。

bench.py包含一个简单的、在其他地方使用的相同功能的实现(naivecidrclassifier)。在3GHz Intel i7-4578U上插入100000个CIDRs并查找10000个IP的一些示例编号:

insert CidrClassifier 5.16s insert NaiveCidrClassifier 0.11s lookup CidrClassifier 0.25s lookup NaiveCidrClassifier 92.11s

一个示例用例是有效地将IP地址(从日志或其他一些源)映射到原始网络(并最终映射到所有者),而无需使用像maxmind这样的商业库或引入任何本机代码依赖项。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java以编程方式从TableLayout中删除所有行   Java Web Sart Ubuntu12.1。加载资源(图像)   人们如何让Java SPNEGO客户端在Windows中工作?   java Eclipselink:ObjectArrayMapping和ClassDescriptor   控制台中带有引号/空格的java Javafx命名参数   java创建服务失败:找不到对象?   java Hazelcast:如何在测试期间禁用自动发现?   使用TuckyUrlRewriteFilter rermoteaddr的java块IP   javascript如何在angular 4中进行同步http调用   输入字符串的java排列   java Jenkins不是以Xrs Xmx2048m XX:MaxPermSize=512m(windows)开始的   AWS EMR上的java avro错误   java从两个ArrayList中提取特定连接的对象,组合这些相关对象并从子类中打印   java从主题中删除什么时间点消息?   谷歌像素设备上的java InvalidKeyException   java如何在执行测试后重建项目   java Android 2.2 readUTF()socket问题   按下安卓设备上的“后退”按钮后java Toast没有完成?