Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Ip2region
提交
dcb4bb09
I
Ip2region
项目概览
int
/
Ip2region
上一次同步 12 个月
通知
19
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
Ip2region
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
dcb4bb09
编写于
12月 24, 2022
作者:
G
gongzhengyang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: add some infos
上级
24fda495
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
5 addition
and
5 deletion
+5
-5
binding/rust/ReadMe.md
binding/rust/ReadMe.md
+5
-5
未找到文件。
binding/rust/ReadMe.md
浏览文件 @
dcb4bb09
...
...
@@ -246,7 +246,7 @@ region: Ok("法国|0|0|0|橘子电信"), took: 4.294µs
ip2region>>
```
这边发现每次查询的消耗时间都超过
`1µs`
,和开头所说的纳秒级查询不一致啊,这个是由于
`rust`
的标准库封装的
`use std::time::Instant`
对象是调用系统底层函数实现的,
导致会有微秒级别的
误差
这边发现每次查询的消耗时间都超过
`1µs`
,和开头所说的纳秒级查询不一致啊,这个是由于
`rust`
的标准库封装的
`use std::time::Instant`
对象是调用系统底层函数实现的,
在打印过程中会存在时间
误差
可以试着找一个新的项目
...
...
@@ -263,7 +263,7 @@ fn main() {
}
```
执行命令如下,发现毫秒级别是没什么问题
都
,微秒和纳秒上面是存在误差的,详情可以参考
[
`rust`标准库文档的`time::Instant`章
](
https://rustwiki.org/zh-CN/std/time/struct.Instant.html
)
执行命令如下,发现毫秒级别是没什么问题,微秒和纳秒上面是存在误差的,详情可以参考
[
`rust`标准库文档的`time::Instant`章
](
https://rustwiki.org/zh-CN/std/time/struct.Instant.html
)
```
shell
$
cargo run
-r
...
...
@@ -309,7 +309,7 @@ Bench finished, total: 3419220,took: 519.820535ms ,cost: 152ns/op
$
cargo
test
```
需要保证查询速度不会有大幅降低,希望有朝一日,远方的朋友可以再优化一下,实现几十纳秒级别的查询速度
需要保证查询速度不会有大幅降低,希望有朝一日,远方的朋友可以再
深度
优化一下,实现几十纳秒级别的查询速度
下面是
`ip2region2`
库的第一版
`benchmark`
结果
...
...
@@ -317,11 +317,11 @@ $ cargo test
`search_by_ip_bench `
-
查询
`ip`
的实际调用函数
-
查询
`ip`
的实际调用函数
`search_by_ip`
`get_block_by_size_bench`
-
获取并且计算偏移值,和其他
`binding`
下的实现的
`getLong`
和
`getShort`
相似
-
获取并且计算偏移值,
对应函数
`get_block_by_size_bench`
,
和其他
`binding`
下的实现的
`getLong`
和
`getShort`
相似
-
该函数会被
`search_by_ip`
多次调用,所以被标注为
`#[inline]`
使用内联优化,以此来消除函数调用产生的压栈开销
```
shell
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录