don't need own parse_line function

This commit is contained in:
Fabian Schmidt 2024-07-29 12:09:05 +02:00
parent 5aa94e67d1
commit da72f38e42
2 changed files with 10 additions and 8 deletions

View File

@ -1,3 +1,5 @@
#![feature(slice_split_once)]
use std::{
fs::File,
io::BufReader,
@ -8,7 +10,7 @@ use std::io::{BufRead, Seek, SeekFrom};
use std::sync::mpsc;
use std::time::Instant;
use onebrc::{parse_line, parse_temp};
use onebrc::parse_temp;
const DEFAULT_HASHMAP_LENGTH: usize = 10000;
@ -51,9 +53,9 @@ fn main() {
if line_len == 0 {
break;
}
let (station, temp) = parse_line(&line);
let (station, temp) = line.rsplit_once(|&byte| byte == b';').unwrap();
let station = unsafe { String::from_utf8_unchecked(Vec::from(station)) };
let temp = parse_temp(temp);
let temp = parse_temp(temp.split_last().unwrap().1);
let measurements_option = t_stations.get_mut(&station);
if let Some(measurements) = measurements_option {
measurements.update(temp);
@ -66,7 +68,7 @@ fn main() {
};
t_stations.insert(station, measurements);
}
currposition += line.len() as u64;
currposition += line_len as u64;
if currposition >= end {
break;
}

View File

@ -1,10 +1,10 @@
#![feature(slice_split_once)]
use std::collections::HashMap;
use std::fs::File;
use std::io::{BufRead, BufReader};
use std::time::Instant;
use onebrc::parse_line;
const DEFAULT_HASHMAP_LENGTH: usize = 10000;
fn main() {
@ -20,9 +20,9 @@ fn main() {
if line_len == 0 {
break;
}
let (station, temp) = parse_line(&line);
let (station, temp) = line.rsplit_once(|&byte| byte == b';').unwrap();
let station = unsafe { String::from_utf8_unchecked(Vec::from(station)) };
let temp = onebrc::parse_temp(temp);
let temp = onebrc::parse_temp(temp.split_last().unwrap().1);
let measurements_option = stations.get_mut(&station);
if let Some(measurements) = measurements_option {
measurements.update(temp);