Reduce allocations round 1
This commit is contained in:
parent
d7c34f3b34
commit
c3497f6429
|
@ -1,27 +1,24 @@
|
|||
macro_rules! hashmap {
|
||||
($( $key: expr => $val: expr ),*) => {{
|
||||
let mut map = ::std::collections::HashMap::new();
|
||||
$( map.insert($key, $val); )*
|
||||
map
|
||||
}}
|
||||
}
|
||||
use arrayvec::ArrayString;
|
||||
|
||||
pub fn mock(target: &str) -> String {
|
||||
let mut builder = String::with_capacity(target.len());
|
||||
pub fn mock(target: &str) -> ArrayString<512> {
|
||||
let mut builder = ArrayString::<512>::new();
|
||||
|
||||
for char in target.chars() {
|
||||
if rand::random() {
|
||||
builder.push_str(&char.to_uppercase().to_string());
|
||||
builder.push(char.to_ascii_uppercase());
|
||||
} else {
|
||||
builder.push_str(&char.to_lowercase().to_string());
|
||||
builder.push(char.to_ascii_lowercase());
|
||||
}
|
||||
}
|
||||
|
||||
builder
|
||||
}
|
||||
|
||||
pub fn leetify(target: &str) -> String {
|
||||
let letters = hashmap! {
|
||||
pub fn leetify(target: &str) -> ArrayString<512> {
|
||||
let mut builder = ArrayString::<512>::new();
|
||||
|
||||
for char in target.chars() {
|
||||
builder.push(match char {
|
||||
'a' => '4',
|
||||
'e' => '3',
|
||||
'i' => '1',
|
||||
|
@ -29,17 +26,9 @@ pub fn leetify(target: &str) -> String {
|
|||
'g' => '6',
|
||||
's' => '5',
|
||||
't' => '7',
|
||||
'b' => '8'
|
||||
};
|
||||
|
||||
let mut builder = String::with_capacity(target.len());
|
||||
|
||||
for char in target.chars() {
|
||||
if let Some(repl) = letters.get(&char.to_ascii_lowercase()) {
|
||||
builder.push(*repl);
|
||||
} else {
|
||||
builder.push(char);
|
||||
}
|
||||
'b' => '8',
|
||||
_ => char,
|
||||
});
|
||||
}
|
||||
|
||||
builder
|
||||
|
|
|
@ -193,7 +193,6 @@ async fn handle_privmsg(
|
|||
None => &nick,
|
||||
}
|
||||
.trim();
|
||||
tracing::info!(user);
|
||||
if let Some(prev_msg) = state.last_msgs.get(user) {
|
||||
let resp = bots::leek::leetify(prev_msg);
|
||||
state.client.privmsg(&channel, &resp).await?;
|
||||
|
|
Loading…
Reference in a new issue