mirror of
https://github.com/eigenein/wotbreplay-parser.git
synced 2026-10-21 02:17:02 +02:00
✅ Add the benchmark
This commit is contained in:
1 parent
0f437c39de
commit
2d2c85c18a
13 files changed
+44
-18
No files matched your search
Generated
+1
@@ -4,6 +4,7 @@
|
|||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/benches" isTestSource="true" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
|
|||||||
@@ -28,3 +28,8 @@ zip = { version = "0.6.3", default-features = false, features = ["deflate"] }
|
|||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
anyhow = "1.0.66"
|
anyhow = "1.0.66"
|
||||||
|
criterion = "0.4.0"
|
||||||
|
|
||||||
|
[[bench]]
|
||||||
|
name = "data"
|
||||||
|
harness = false
|
||||||
@@ -18,7 +18,7 @@ use wotbreplay_parser::models::battle_results::TeamNumber;
|
|||||||
use wotbreplay_parser::replay::Replay;
|
use wotbreplay_parser::replay::Replay;
|
||||||
|
|
||||||
fn main() -> Result<()> {
|
fn main() -> Result<()> {
|
||||||
let battle_results = Replay::open(File::open("replays/player_results.wotbreplay")?)?.read_battle_results()?;
|
let battle_results = Replay::open(File::open("replays/20221203_player_results.wotbreplay")?)?.read_battle_results()?;
|
||||||
|
|
||||||
assert_eq!(battle_results.timestamp, 1670083956);
|
assert_eq!(battle_results.timestamp, 1670083956);
|
||||||
assert_eq!(battle_results.players.len(), 14);
|
assert_eq!(battle_results.players.len(), 14);
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
use std::fs::File;
|
||||||
|
|
||||||
|
use criterion::{criterion_group, criterion_main, Criterion};
|
||||||
|
use wotbreplay_parser::replay::Replay;
|
||||||
|
|
||||||
|
fn bench_read_data(criterion: &mut Criterion) {
|
||||||
|
let mut group = criterion.benchmark_group("read_data");
|
||||||
|
for path in [
|
||||||
|
"replays/20230429_0126__helaas_pindakaas.wotbreplay",
|
||||||
|
"replays/20230503_0027__helaas_pindakaas.wotbreplay",
|
||||||
|
"replays/20230429_1682194799_malinovka.wotbreplay",
|
||||||
|
] {
|
||||||
|
let mut replay = Replay::open(File::open(path).unwrap()).unwrap();
|
||||||
|
group.bench_function(path, |bencher| bencher.iter(|| replay.read_data().unwrap()));
|
||||||
|
}
|
||||||
|
group.finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
criterion_group!(benches, bench_read_data);
|
||||||
|
criterion_main!(benches);
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -6,7 +6,8 @@ use wotbreplay_parser::replay::Replay;
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn player_results_ok() -> Result<()> {
|
fn player_results_ok() -> Result<()> {
|
||||||
let battle_results_dat = Replay::open(File::open("replays/player_results.wotbreplay")?)?
|
let battle_results_dat =
|
||||||
|
Replay::open(File::open("replays/20221203_player_results.wotbreplay")?)?
|
||||||
.read_battle_results_dat()?;
|
.read_battle_results_dat()?;
|
||||||
assert_eq!(battle_results_dat.arena_unique_id, 1661909200500084);
|
assert_eq!(battle_results_dat.arena_unique_id, 1661909200500084);
|
||||||
let battle_results: BattleResults = battle_results_dat.try_into()?;
|
let battle_results: BattleResults = battle_results_dat.try_into()?;
|
||||||
@@ -80,8 +81,8 @@ fn player_results_ok() -> Result<()> {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn player_info_ok() -> Result<()> {
|
fn player_info_ok() -> Result<()> {
|
||||||
let battle_results =
|
let battle_results = Replay::open(File::open("replays/20221203_player_results.wotbreplay")?)?
|
||||||
Replay::open(File::open("replays/player_results.wotbreplay")?)?.read_battle_results()?;
|
.read_battle_results()?;
|
||||||
|
|
||||||
assert_eq!(battle_results.players[1].info.clan_tag.as_deref(), Some("AN0NY"));
|
assert_eq!(battle_results.players[1].info.clan_tag.as_deref(), Some("AN0NY"));
|
||||||
|
|
||||||
@@ -103,8 +104,8 @@ fn player_info_ok() -> Result<()> {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn victory_points_ok() -> Result<()> {
|
fn victory_points_ok() -> Result<()> {
|
||||||
let battle_results =
|
let battle_results = Replay::open(File::open("replays/20221203_victory_points.wotbreplay")?)?
|
||||||
Replay::open(File::open("replays/victory_points.wotbreplay")?)?.read_battle_results()?;
|
.read_battle_results()?;
|
||||||
|
|
||||||
assert_eq!(battle_results.player_results[1].info.victory_points_seized, 40);
|
assert_eq!(battle_results.player_results[1].info.victory_points_seized, 40);
|
||||||
assert_eq!(battle_results.player_results[1].info.victory_points_earned, 40);
|
assert_eq!(battle_results.player_results[1].info.victory_points_earned, 40);
|
||||||
@@ -120,7 +121,8 @@ fn victory_points_ok() -> Result<()> {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn draw_ok() -> Result<()> {
|
fn draw_ok() -> Result<()> {
|
||||||
let battle_results = Replay::open(File::open("replays/20230503_0027__helaas_pindakaas_A140_ASTRON_REX_105_2319058483532631656.wotbreplay")?)?
|
let battle_results =
|
||||||
|
Replay::open(File::open("replays/20230503_0027__helaas_pindakaas.wotbreplay")?)?
|
||||||
.read_battle_results()?;
|
.read_battle_results()?;
|
||||||
assert_eq!(battle_results.winner_team_number, None);
|
assert_eq!(battle_results.winner_team_number, None);
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|||||||
+7
-10
@@ -7,9 +7,8 @@ use wotbreplay_parser::replay::Replay;
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parse_ok() -> Result<()> {
|
fn parse_ok() -> Result<()> {
|
||||||
let mut replay = Replay::open(File::open(
|
let mut replay =
|
||||||
"replays/20230429_0126__helaas_pindakaas_A140_ASTRON_REX_105_16114615898101270.wotbreplay",
|
Replay::open(File::open("replays/20230429_0126__helaas_pindakaas.wotbreplay")?)?;
|
||||||
)?)?;
|
|
||||||
let data = replay.read_data()?;
|
let data = replay.read_data()?;
|
||||||
|
|
||||||
assert_eq!(data.client_version, "9.8.5_apple");
|
assert_eq!(data.client_version, "9.8.5_apple");
|
||||||
@@ -20,9 +19,8 @@ fn parse_ok() -> Result<()> {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn base_player_create_ok() -> Result<()> {
|
fn base_player_create_ok() -> Result<()> {
|
||||||
let mut replay = Replay::open(File::open(
|
let mut replay =
|
||||||
"replays/20230429_0126__helaas_pindakaas_A140_ASTRON_REX_105_16114615898101270.wotbreplay",
|
Replay::open(File::open("replays/20230429_0126__helaas_pindakaas.wotbreplay")?)?;
|
||||||
)?)?;
|
|
||||||
let data = replay.read_data()?;
|
let data = replay.read_data()?;
|
||||||
|
|
||||||
let (author_nickname, arena_unique_id, arena_type_id, arguments) = data
|
let (author_nickname, arena_unique_id, arena_type_id, arguments) = data
|
||||||
@@ -68,9 +66,8 @@ fn base_player_create_ok() -> Result<()> {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn update_arena_ok() -> Result<()> {
|
fn update_arena_ok() -> Result<()> {
|
||||||
let mut replay = Replay::open(File::open(
|
let mut replay =
|
||||||
"replays/20230429_0126__helaas_pindakaas_A140_ASTRON_REX_105_16114615898101270.wotbreplay",
|
Replay::open(File::open("replays/20230429_0126__helaas_pindakaas.wotbreplay")?)?;
|
||||||
)?)?;
|
|
||||||
let data = replay.read_data()?;
|
let data = replay.read_data()?;
|
||||||
|
|
||||||
let players = data
|
let players = data
|
||||||
@@ -97,7 +94,7 @@ fn update_arena_ok() -> Result<()> {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn training_room_ok() -> Result<()> {
|
fn training_room_ok() -> Result<()> {
|
||||||
let mut replay = Replay::open(File::open("replays/training_room.wotbreplay")?)?;
|
let mut replay = Replay::open(File::open("replays/20230503_training_room.wotbreplay")?)?;
|
||||||
replay.read_data()?;
|
replay.read_data()?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
+2
-1
@@ -7,7 +7,8 @@ use wotbreplay_parser::replay::Replay;
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn meta_ok() -> Result<()> {
|
fn meta_ok() -> Result<()> {
|
||||||
let meta = Replay::open(File::open("replays/player_results.wotbreplay")?)?.read_meta()?;
|
let meta =
|
||||||
|
Replay::open(File::open("replays/20221203_player_results.wotbreplay")?)?.read_meta()?;
|
||||||
|
|
||||||
assert_eq!(meta.player_name, "zeekrab");
|
assert_eq!(meta.player_name, "zeekrab");
|
||||||
assert_eq!(meta.arena_unique_id, "1661909200500084");
|
assert_eq!(meta.arena_unique_id, "1661909200500084");
|
||||||
|
|||||||
Reference in new issue
Block a user