-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Benchmark obs parsing + faster parser #91
Conversation
@@ -1,7 +1,7 @@ | |||
[tool.poetry] | |||
name = "prx" | |||
version = "0.0.1" | |||
description = "Making GNSS positioning a bit more accessible" | |||
description = "Making raw GNSS data more accessible" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmmm not sure this is an improvement ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It makes sense!! 👍
@@ -215,15 +215,6 @@ def build_records( | |||
check_assumptions(rinex_3_obs_file) | |||
obs = helpers.parse_rinex_file(rinex_3_obs_file) | |||
|
|||
# Flatten the xarray DataSet into a pandas DataFrame: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moves to helpers.py
@plutonheaven OK if I merge this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great!!
This PR adresses the current bottleneck of prx's speed, which is observation file parsing, by adding
Note that the PR adds the new parser, but does not enable it, so prx still uses georinex as its parsing backend.
What about the loss-of-lock indicator
The loss-of-lock indicators are not extracted yet, will deal with that in a follow-up PR.
What about nav files?
We can continue to rely on georinex's nav file parser, since parsing e.g. a 1-day file takes only about 45 seconds (M2 Mac), and most web-prx users will benefit from caching, since it is likely that a previous users has caused prx to download and parse the same nav files.
Testing
Running the benchmark yields
Note that the pandas-based parser's speed is pretty much independent of file size, at least in this benchmark.