22// released under BSD 3-Clause License
33// author: Kevin Laeufer <laeufer@cornell.edu>
44
5- #[ cfg( feature = "serde1" ) ]
6- use bincode:: Options ;
75use wellen:: simple:: Waveform ;
86use wellen:: * ;
97
@@ -21,60 +19,12 @@ fn test_compression(wave: &mut Waveform) {
2119 let compressed = CompressedSignal :: compress ( signal) ;
2220 let uncompressed: Signal = compressed. uncompress ( ) ;
2321 assert_eq ! ( signal, & uncompressed, "{signal_name}" ) ;
24- compare_size ( & uncompressed, & compressed) ;
2522 wave. unload_signals ( & [ idx] ) ;
2623 }
2724 // test time table compression
2825 let compressed_tt = CompressedTimeTable :: compress ( wave. time_table ( ) ) ;
2926 let uncompressed_tt = compressed_tt. uncompress ( ) ;
3027 assert_eq ! ( uncompressed_tt. as_slice( ) , wave. time_table( ) ) ;
31- compare_time_table_size ( wave. time_table ( ) , & compressed_tt) ;
32- }
33-
34- #[ cfg( not( feature = "serde1" ) ) ]
35- fn compare_size ( _a : & Signal , _b : & CompressedSignal ) {
36- // nothing to do without serdes
37- }
38-
39- #[ cfg( feature = "serde1" ) ]
40- fn compare_size ( a : & Signal , b : & CompressedSignal ) {
41- let opts = bincode:: DefaultOptions :: new ( ) ;
42- let uncompressed = opts. serialize ( a) . unwrap ( ) ;
43- let lz4_only = lz4_flex:: compress_prepend_size ( & uncompressed) ;
44- let compressed = opts. serialize ( b) . unwrap ( ) ;
45- let delta = uncompressed. len ( ) - compressed. len ( ) ;
46- let relative_delta = 10000 * delta / uncompressed. len ( ) ;
47- let relative_delta_lz4 = ( lz4_only. len ( ) - compressed. len ( ) ) * 10000 / lz4_only. len ( ) ;
48- println ! (
49- "Saved {}% {} vs. {} ... {}% vs using only lz4" ,
50- relative_delta as f64 / 100.0 ,
51- uncompressed. len( ) ,
52- compressed. len( ) ,
53- relative_delta_lz4 as f64 / 100.0 ,
54- ) ;
55- }
56-
57- #[ cfg( not( feature = "serde1" ) ) ]
58- fn compare_time_table_size ( _a : & [ Time ] , _b : & CompressedTimeTable ) {
59- // nothing to do without serdes
60- }
61-
62- #[ cfg( feature = "serde1" ) ]
63- fn compare_time_table_size ( a : & [ Time ] , b : & CompressedTimeTable ) {
64- let opts = bincode:: DefaultOptions :: new ( ) ;
65- let uncompressed = opts. serialize ( a) . unwrap ( ) ;
66- let lz4_only = lz4_flex:: compress_prepend_size ( & uncompressed) ;
67- let compressed = opts. serialize ( b) . unwrap ( ) ;
68- let delta = uncompressed. len ( ) - compressed. len ( ) ;
69- let relative_delta = 10000 * delta / uncompressed. len ( ) ;
70- let relative_delta_lz4 = ( lz4_only. len ( ) - compressed. len ( ) ) * 10000 / lz4_only. len ( ) ;
71- println ! (
72- "Timetable: saved {}% {} vs. {} ... {}% vs using only lz4" ,
73- relative_delta as f64 / 100.0 ,
74- uncompressed. len( ) ,
75- compressed. len( ) ,
76- relative_delta_lz4 as f64 / 100.0 ,
77- ) ;
7828}
7929
8030fn do_test_from_file ( filename : & str ) {
0 commit comments