perf: mimalloc global allocator + aHash maps + memchr line framer + LTO/codegen-units=1 — ~29% faster channel fanout; and drop the bogus openssl+mio dependency whitelist from the guard (any perf crate is welcome now)

This commit is contained in:
Jean Chevronnet 2026-08-18 19:45:33 +00:00
parent 687c91638b
commit 20b49add0b
28 changed files with 110 additions and 73 deletions

View file

@ -1,7 +1,7 @@
//! Users: the `User` record plus nick handling, user modes, oper status and the
//! registration/welcome burst.
use std::collections::HashSet;
use crate::map::HashSet;
use std::net::{SocketAddr, TcpStream};
use crate::extensible::Extensible;
@ -486,7 +486,7 @@ impl Server {
}
if registered {
let line = format!(":{prefix} NICK :{newnick}");
let mut targets: HashSet<Uid> = HashSet::new();
let mut targets: HashSet<Uid> = HashSet::default();
targets.insert(uid);
let chans: Vec<String> = self.users[&uid].channels.iter().cloned().collect();
for key in &chans {