refactor: increase generation speed
This commit is contained in:
parent
fae0746382
commit
fae0ce4539
33
src/main.rs
33
src/main.rs
|
@ -266,6 +266,7 @@ fn main() -> Result<()> {
|
|||
};
|
||||
|
||||
let mut sha1 = Sha1::default();
|
||||
let mut buffer = itoa::Buffer::new();
|
||||
loop {
|
||||
if found.load(Ordering::SeqCst) {
|
||||
break;
|
||||
|
@ -281,7 +282,6 @@ fn main() -> Result<()> {
|
|||
}
|
||||
};
|
||||
|
||||
let mut buffer = itoa::Buffer::new();
|
||||
let append = if gpg.is_some() || seq_key.is_some() {
|
||||
None
|
||||
} else {
|
||||
|
@ -356,21 +356,38 @@ fn main() -> Result<()> {
|
|||
}
|
||||
}
|
||||
|
||||
let message = match append {
|
||||
Some(append) => Cow::from(format!("{message}\n{append}\n")),
|
||||
None => Cow::from(&message),
|
||||
let message_len = match &append {
|
||||
Some(a) => message.len() + a.len() + 2,
|
||||
None => message.len(),
|
||||
};
|
||||
|
||||
let total = format!("{header}\n{message}");
|
||||
let raw_commit = format!("commit {}\0", total.len());
|
||||
sha1.update(&raw_commit);
|
||||
sha1.update(&total);
|
||||
sha1.update("commit ");
|
||||
sha1.update(buffer.format(header.len() + message_len + 1));
|
||||
sha1.update([0]);
|
||||
sha1.update(&header);
|
||||
sha1.update("\n");
|
||||
match &append {
|
||||
Some(a) => {
|
||||
sha1.update(&message);
|
||||
sha1.update("\n");
|
||||
sha1.update(a);
|
||||
sha1.update("\n");
|
||||
}
|
||||
None => sha1.update(&message),
|
||||
}
|
||||
|
||||
let hash = sha1.finalize_reset();
|
||||
let hash = data_encoding::HEXLOWER.encode(&hash);
|
||||
|
||||
bar.inc(1);
|
||||
if hash.starts_with(&prefix) {
|
||||
found.store(true, Ordering::SeqCst);
|
||||
let message = match append {
|
||||
Some(append) => Cow::from(format!("{message}\n{append}\n")),
|
||||
None => Cow::from(&message),
|
||||
};
|
||||
let total = format!("{header}\n{message}");
|
||||
let raw_commit = format!("commit {}\0", total.len());
|
||||
commit_tx.send((hash, format!("{raw_commit}{total}"))).unwrap();
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue