๐ on Nostr: /run rust extern crate rand; use rand::prelude::IteratorRandom; use std::time; use ...
/run rust
extern crate rand;
use rand::prelude::IteratorRandom;
use std::time;
use regex::Regex;
const CHAR_LIST: &str = "ใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใกใขใฃใคใฅใฆใงใจใฉใชใซใฌใญใฎใฏใฐใฑใฒใณใดใตใถใทใธในใบใปใผใฝใพใฟใใใใใใ ใใใใใใใใใใใใใใ";
fn gen_chars(size: usize) -> String {
let mut rng = &mut rand::thread_rng();
let mut result: Vec<char> = Vec::new();
for _ in 0..size {
result.push(CHAR_LIST.chars().choose(&mut rng).unwrap());
}
result.into_iter().collect()
}
fn main() {
let s = gen_chars(1000);
println!("Method A:");
let now = time::Instant::now();
if let Some(_m) = s.find('ใ') {
//todo!();
}
println!("{:?}", now.elapsed());
println!("Method B:");
let now = time::Instant::now();
let re = Regex::new("ใ").unwrap();
let mut locs = re.capture_locations();
re.captures_read(&mut locs, &s);
if let Some(_m) = locs.get(0) {
//todo!();
}
println!("{:?}", now.elapsed());
}
extern crate rand;
use rand::prelude::IteratorRandom;
use std::time;
use regex::Regex;
const CHAR_LIST: &str = "ใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใกใขใฃใคใฅใฆใงใจใฉใชใซใฌใญใฎใฏใฐใฑใฒใณใดใตใถใทใธในใบใปใผใฝใพใฟใใใใใใ ใใใใใใใใใใใใใใ";
fn gen_chars(size: usize) -> String {
let mut rng = &mut rand::thread_rng();
let mut result: Vec<char> = Vec::new();
for _ in 0..size {
result.push(CHAR_LIST.chars().choose(&mut rng).unwrap());
}
result.into_iter().collect()
}
fn main() {
let s = gen_chars(1000);
println!("Method A:");
let now = time::Instant::now();
if let Some(_m) = s.find('ใ') {
//todo!();
}
println!("{:?}", now.elapsed());
println!("Method B:");
let now = time::Instant::now();
let re = Regex::new("ใ").unwrap();
let mut locs = re.capture_locations();
re.captures_read(&mut locs, &s);
if let Some(_m) = locs.get(0) {
//todo!();
}
println!("{:?}", now.elapsed());
}