提交 519206cd 编写于 作者: yitter's avatar yitter

auto commit

上级 cce7a653
mod idgen;
use chrono::Utc;
use idgen::*;
use std::thread;
use chrono::Utc;
use std::time::Duration;
fn main() {
println!("Hello, world! Rust");
// 总执行次数
let times = 50000;
let times = 500000;
// 是否启用多线程测试
let multiThread = false;
......@@ -18,7 +17,7 @@ fn main() {
// 全局设置一次运行参数
let mut options = IdGeneratorOptions::New(1);
options.WorkerIdBitLength = 6;
options.SeqBitLength = 6;
options.SeqBitLength = 10;
//... 可以继续设置其它 options 参数
YitIdHelper::SetIdGenerator(options);
......@@ -32,24 +31,29 @@ fn main() {
while i < times {
i += 1;
if multiThread { // 这是多线程
thread::spawn(move || {
id = YitIdHelper::NextId();
println!("{}, id: {}", i, id);
});
} else { // 这是单线程
id = YitIdHelper::NextId();
}
}
YitIdHelper::NextId();
println!("最后生成的id: {}", id);
if !multiThread {
// 多线程情况下,时间统计不准确
let end = Utc::now().timestamp_millis();
println!("单线程用时 {} ms", end - start);
// if multiThread { // 这是多线程
// thread::spawn(move || {
// id = YitIdHelper::NextId();
// println!("{}, id: {}", i, id);
// });
// } else { // 这是单线程
// id = YitIdHelper::NextId();
// }
}
thread::sleep(std::time::Duration::from_millis(2000));
let end = Utc::now().timestamp_millis();
println!("单线程用时 {} ms", end - start);
// println!("最后生成的id: {}", id);
// if !multiThread {
// // 多线程情况下,时间统计不准确
// let end = Utc::now().timestamp_millis();
// println!("单线程用时 {} ms", end - start);
// }
thread::sleep(std::time::Duration::from_millis(1000));
}
}
......@@ -71,6 +75,4 @@ fn set_redis() {
// },
// Err(error) => println!("Unable to create Redis client: {}", error)
// }
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册