1
0
mirror of synced 2025-12-16 01:58:09 +08:00

auto commit

This commit is contained in:
yitter
2022-07-15 16:35:34 +08:00
parent cce7a65384
commit 519206cdbf

View File

@@ -1,16 +1,15 @@
mod idgen; mod idgen;
use chrono::Utc;
use idgen::*; use idgen::*;
use std::thread; use std::thread;
use chrono::Utc;
use std::time::Duration; use std::time::Duration;
fn main() { fn main() {
println!("Hello, world! Rust"); println!("Hello, world! Rust");
// 总执行次数 // 总执行次数
let times = 50000; let times = 500000;
// 是否启用多线程测试 // 是否启用多线程测试
let multiThread = false; let multiThread = false;
@@ -18,7 +17,7 @@ fn main() {
// 全局设置一次运行参数 // 全局设置一次运行参数
let mut options = IdGeneratorOptions::New(1); let mut options = IdGeneratorOptions::New(1);
options.WorkerIdBitLength = 6; options.WorkerIdBitLength = 6;
options.SeqBitLength = 6; options.SeqBitLength = 10;
//... 可以继续设置其它 options 参数 //... 可以继续设置其它 options 参数
YitIdHelper::SetIdGenerator(options); YitIdHelper::SetIdGenerator(options);
@@ -32,24 +31,29 @@ fn main() {
while i < times { while i < times {
i += 1; i += 1;
if multiThread { // 这是多线程 YitIdHelper::NextId();
thread::spawn(move || {
id = YitIdHelper::NextId(); // if multiThread { // 这是多线程
println!("{}, id: {}", i, id); // thread::spawn(move || {
}); // id = YitIdHelper::NextId();
} else { // 这是单线程 // println!("{}, id: {}", i, id);
id = YitIdHelper::NextId(); // });
} // } else { // 这是单线程
// id = YitIdHelper::NextId();
// }
} }
println!("最后生成的id: {}", id);
if !multiThread {
// 多线程情况下,时间统计不准确
let end = Utc::now().timestamp_millis(); let end = Utc::now().timestamp_millis();
println!("单线程用时 {} ms", end - start); println!("单线程用时 {} ms", end - start);
}
thread::sleep(std::time::Duration::from_millis(2000)); // 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) // Err(error) => println!("Unable to create Redis client: {}", error)
// } // }
} }