chorus-ai / chorus_waveform

CHoRUS waveform documentation and various waveform conversion scripts
MIT License
3 stars 3 forks source link

Benchmarking: run on non-Linux *nix systems #21

Closed bemoody closed 7 months ago

bemoody commented 7 months ago

Try to make the waveform_benchmark script work at a basic level on non-Linux systems - where currently we don't have a way to gather I/O performance numbers, but it's useful to see that the code runs and measure execution time.

briangow commented 7 months ago

Thanks @bemoody , this is running on my mac (though there is a RuntimeWarning). Here is the output for reference:

________________________________________________________________
Format: waveform_benchmark.formats.wfdb.WFDBFormat516
         (WFDB with FLAC compression)
Record: /Users/briangow/Dropbox/MIT/chorus/repos/chorus_waveform/physionet.org/files/mimic4wdb/0.1.0/waves/p100/p10014354/81739927/81739927
         106625 seconds x 7 channels
         153205760 timepoints, 99842432 samples (65.2%)
________________________________________________________________
/Users/briangow/Dropbox (MIT)/MIT/chorus/repos/chorus_waveform/env/lib/python3.10/site-packages/wfdb/io/_signal.py:578: RuntimeWarning: invalid value encountered in cast
  ch_d_signal = ch_d_signal.astype(intdtype, copy=False)
Output size:    47043 KiB (3.86 bits/sample)
Time to output: 13 sec
________________________________________________________________
Read performance (median of N trials):
 #seek  #read      KiB      sec     [N]
   nan    nan      nan   1.5564     [7] read 1 x 106625s, all channels
   nan    nan      nan   0.0468   [172] read 5 x 500s, all channels
   nan    nan      nan   0.1635    [41] read 50 x 50s, all channels
   nan    nan      nan   1.3392     [5] read 500 x 5s, all channels
   nan    nan      nan   1.1852    [12] read 1 x 106625s, one channel
   nan    nan      nan   0.0318   [260] read 5 x 500s, one channel
   nan    nan      nan   0.1225    [56] read 50 x 50s, one channel
   nan    nan      nan   1.0367     [7] read 500 x 5s, one channel