Basic Get/Set Time Comparisons

[1]:
import timeit

import numpy as np

# load Android Google Challenge data
!wget https://raw.githubusercontent.com/Stanford-NavLab/gnss_lib_py/main/data/unit_test/google_decimeter_2021/Pixel4XL_derived.csv --quiet -O "Pixel4XL_derived.csv"
[2]:
REPEAT_COUNT = 10
ITERATION_COUNT = 1000
[3]:
SETUP_CODE = '''
from gnss_lib_py import AndroidDerived2021

# load Android Google Challenge data
navdata = AndroidDerived2021("Pixel4XL_derived.csv", remove_timing_outliers=False)
'''

TEST_CODE = '''
navdata["corr_pr_m"] = navdata['raw_pr_m'] \
                     + navdata['b_sv_m'] \
                     - navdata['intersignal_bias_m'] \
                     - navdata['tropo_delay_m'] \
                     - navdata['iono_delay_m']
            '''
# timeit.repeat statement
times = timeit.repeat(setup = SETUP_CODE,
                      stmt = TEST_CODE,
                      repeat = REPEAT_COUNT,
                      number = ITERATION_COUNT)

print(f'NavData avg time: {np.round(1E3*np.mean(times)/ITERATION_COUNT,5)} ms')
NavData avg time: 0.36499 ms
[4]:
SETUP_CODE = '''
import pandas as pd

from gnss_lib_py import AndroidDerived2021

# load Android Google Challenge data
df = pd.read_csv("Pixel4XL_derived.csv")
df.rename(columns=AndroidDerived2021._row_map(), inplace=True)
'''

TEST_CODE = '''
df["corr_pr_m"] = df['raw_pr_m'] \
                + df['b_sv_m'] \
                - df['intersignal_bias_m'] \
                - df['tropo_delay_m'] \
                - df['iono_delay_m']
            '''
# timeit.repeat statement
times = timeit.repeat(setup = SETUP_CODE,
                      stmt = TEST_CODE,
                      repeat = REPEAT_COUNT,
                      number = ITERATION_COUNT)

print(f'Pandas avg time: {np.round(1E3*np.mean(times)/ITERATION_COUNT,5)} ms')
Pandas avg time: 0.74882 ms
[5]:
SETUP_CODE = '''
import pandas as pd

from gnss_lib_py import AndroidDerived2021

# load Android Google Challenge data
df = pd.read_csv("Pixel4XL_derived.csv")
df.rename(columns=AndroidDerived2021._row_map(), inplace=True)

raw_pr_m = df['raw_pr_m'].to_numpy()
b_sv_m = df['b_sv_m'].to_numpy()
intersignal_bias_m = df['intersignal_bias_m'].to_numpy()
tropo_delay_m = df['tropo_delay_m'].to_numpy()
iono_delay_m = df['iono_delay_m'].to_numpy()

'''

TEST_CODE = '''
corr_pr_m = raw_pr_m \
          + b_sv_m \
          - intersignal_bias_m \
          - tropo_delay_m \
          - iono_delay_m
            '''
# timeit.repeat statement
times = timeit.repeat(setup = SETUP_CODE,
                      stmt = TEST_CODE,
                      repeat = REPEAT_COUNT,
                      number = ITERATION_COUNT)

print(f'Numpy avg time: {np.round(1E3*np.mean(times)/ITERATION_COUNT,5)} ms')
Numpy avg time: 0.01269 ms