Skip to content

chg: improve memory usage and avoid repetitive work - #3

Merged
nicokant merged 1 commit into
mainfrom
improvements
Apr 22, 2026
Merged

chg: improve memory usage and avoid repetitive work#3
nicokant merged 1 commit into
mainfrom
improvements

Conversation

@nicokant

Copy link
Copy Markdown
Collaborator

No description provided.

@github-actions

github-actions Bot commented Apr 21, 2026

Copy link
Copy Markdown

badge

Code Coverage Summary

Filename                                           Stmts    Miss  Cover    Missing
-----------------------------------------------  -------  ------  -------  -------------------------------------------------------------------------------
src/gps_logger_parser/__init__.py                      2       0  100.00%
src/gps_logger_parser/helpers.py                      25       8  68.00%   26-33
src/gps_logger_parser/parser.py                       25       1  96.00%   35
src/gps_logger_parser/parser_base.py                 127      28  77.95%   27, 48, 71, 77-81, 101, 123, 141, 162-167, 170, 182, 193, 201-202, 209, 235-247
src/gps_logger_parser/accelerometer/__init__.py       65       6  90.77%   13, 40-41, 51, 54, 65
src/gps_logger_parser/accelerometer/columns.py         7       0  100.00%
src/gps_logger_parser/accelerometer/mixin.py           4       0  100.00%
src/gps_logger_parser/gps/__init__.py                 17       0  100.00%
src/gps_logger_parser/gps/axytrek.py                  30       5  83.33%   12-15, 75, 84
src/gps_logger_parser/gps/base.py                     12       2  83.33%   59-62
src/gps_logger_parser/gps/catlog.py                   75      11  85.33%   61, 65-66, 81, 84, 95, 199, 202, 207, 213, 222
src/gps_logger_parser/gps/columns.py                  21       0  100.00%
src/gps_logger_parser/gps/ecotone.py                  37       6  83.78%   49, 60, 66-67, 105-110
src/gps_logger_parser/gps/gpx.py                      36       5  86.11%   51, 53-54, 65, 68
src/gps_logger_parser/gps/ho11.py                     19       0  100.00%
src/gps_logger_parser/gps/igotu.py                    21       0  100.00%
src/gps_logger_parser/gps/interrex.py                  8       0  100.00%
src/gps_logger_parser/gps/jm.py                      122      11  90.98%   16, 77-78, 116, 136, 139, 178, 296-297, 326, 331
src/gps_logger_parser/gps/mataki.py                    8       0  100.00%
src/gps_logger_parser/gps/mixin.py                    18       0  100.00%
src/gps_logger_parser/gps/ornitela.py                 11       0  100.00%
src/gps_logger_parser/gps/pathtrack.py                57       7  87.72%   62, 64-65, 92, 95, 203-205
src/gps_logger_parser/gps/unknown.py                  51       5  90.20%   87, 94-95, 113, 126
src/gps_logger_parser/other_sensor/__init__.py         2       0  100.00%
src/gps_logger_parser/other_sensor/columns.py         10       0  100.00%
src/gps_logger_parser/other_sensor/interrex.py         8       0  100.00%
src/gps_logger_parser/other_sensor/mixin.py            4       0  100.00%
src/gps_logger_parser/tdr/__init__.py                106      17  83.96%   16-18, 41, 43-44, 55, 58, 68, 71, 92, 142, 144-145, 170, 173, 181
src/gps_logger_parser/tdr/columns.py                   7       0  100.00%
src/gps_logger_parser/tdr/mixin.py                     4       0  100.00%
src/gps_logger_parser/tests/__init__.py                0       0  100.00%
src/gps_logger_parser/tests/test_benchmark.py         20       3  85.00%   29, 41-42
src/gps_logger_parser/tests/test_parsers.py           31       0  100.00%
TOTAL                                                990     115  88.38%

Diff against main

Filename                                           Stmts    Miss  Cover
-----------------------------------------------  -------  ------  -------
src/gps_logger_parser/parser.py                       +3       0  +0.55%
src/gps_logger_parser/parser_base.py                 +12      +5  -2.05%
src/gps_logger_parser/accelerometer/__init__.py       +7      +3  -4.06%
src/gps_logger_parser/gps/catlog.py                  +11      +5  -5.29%
src/gps_logger_parser/gps/ecotone.py                 +12      +4  -8.22%
src/gps_logger_parser/gps/gpx.py                      +9      +4  -10.19%
src/gps_logger_parser/gps/jm.py                      +14      +6  -4.39%
src/gps_logger_parser/gps/pathtrack.py                +9      +4  -6.03%
src/gps_logger_parser/gps/unknown.py                 +12      +4  -7.24%
src/gps_logger_parser/tdr/__init__.py                +18      +8  -5.81%
TOTAL                                               +107     +43  -3.47%

Results for commit: b6253a8

Minimum allowed coverage is 50%

♻️ This comment has been updated with latest results

@github-actions

Copy link
Copy Markdown

Benchmark Comparison

Detection (detect_file)

Test Baseline (ms) Current (ms) Change
020719_BK_An_6199165_CC6_GPS.csv 2.74 1.82 -33.8%
10_raw_csv_format.txt 5.21 1.88 -63.8%
110708210243 BKAN 199 ZE.LOG 3.21 1.75 -45.5%
150717_BK_AN_6199514_GPS11.csv 1.49 1.29 -13.1%
1d0000021e.65509.-EnvironmentData-Environment.csv 8.51 3.99 -53.2%
1d00000229.65520.-LocationData-Interrex_gpslogger.csv 5.44 2.39 -56.0%
20150715-6126271-OSS.csv 2.28 1.61 -29.4%
20160619-6223861-KRY.csv 2.14 1.62 -24.3%
20160710-6217930-OBS.csv 3.40 2.72 -20.0%
20160710-6228801-OBS.csv 2.84 2.10 -26.1%
20170622-102857.gpx 2.15 2.19 +1.6%
20170622-215451.gpx 1.86 1.92 +2.9%
20170622-215608.gpx 1.70 1.76 +3.0%
232772_20231115_12030_Ornitela_gpslogger.csv 6.00 2.97 -50.4%
41422_all_data.pos 4.34 2.25 -48.1%
7AD_Tag42853_merged.csv 4.64 2.21 -52.3%
7EH_Tag42877_merged.csv 4.52 2.05 -54.7%
A15153_08-06-2018.csv 6.71 3.00 -55.2%
Alkefjellet_11307_010720_corrupt.csv 1.65 1.14 -30.9%
An11_YL.txt 4.17 2.11 -49.4%
An12_PC.txt 3.94 2.02 -48.7%
An12_PJ.txt 3.97 2.05 -48.3%
BK_AN_161_PT_020713.LOG 9.46 9.31 -1.6%
BLK_An_189_01_120704.TXT 4.52 2.91 -35.6%
BLK_An_215_03_120716.TXT 4.22 2.57 -39.1%
BRGU 4215328 AXY-29 04072018_S2.csv 6.18 3.48 -43.7%
BRGU AXY06 15062018_S3.csv 6.25 3.50 -44.0%
CG_DI_A08918_02-07-12.CSV 6.19 2.35 -62.0%
ES-SK-F-19011-295827-20200702-X27_Acc.txt 5.61 2.02 -64.1%
ES_RU_292616_TDR_red.csv 5.87 1.80 -69.3%
G199_120708.TXT 4.52 2.96 -34.7%
Ho11_EM(csv version).csv 5.25 2.49 -52.5%
J150H_243391_20250210_131300.csv 5.80 2.71 -53.2%
Obs250823_130741_Tag47649Press.txt 6.20 2.17 -65.0%
Tag41485_combined.pos 4.32 2.26 -47.6%
putty_20130705_base115_2.log_106_GPS.csv 5.33 2.03 -61.9%

Average: -40.8%

Full Pipeline (detect_file + as_table)

Test Baseline (ms) Current (ms) Change
020719_BK_An_6199165_CC6_GPS.csv 10.99 9.88 -10.1%
10_raw_csv_format.txt 14.35 10.06 -29.9%
110708210243 BKAN 199 ZE.LOG 11.49 9.61 -16.4%
150717_BK_AN_6199514_GPS11.csv 8.42 8.25 -1.9%
1d0000021e.65509.-EnvironmentData-Environment.csv 25.01 19.73 -21.1%
1d00000229.65520.-LocationData-Interrex_gpslogger.csv 12.54 9.41 -25.0%
20150715-6126271-OSS.csv 9.75 9.12 -6.4%
20160619-6223861-KRY.csv 9.65 8.77 -9.2%
20160710-6217930-OBS.csv 11.04 10.35 -6.2%
20160710-6228801-OBS.csv 10.89 9.95 -8.7%
20170622-102857.gpx 9.10 8.64 -5.0%
20170622-215451.gpx 8.26 8.06 -2.4%
20170622-215608.gpx 8.54 7.76 -9.1%
232772_20231115_12030_Ornitela_gpslogger.csv 14.16 10.38 -26.7%
41422_all_data.pos 13.33 11.13 -16.5%
7AD_Tag42853_merged.csv 14.97 11.67 -22.1%
7EH_Tag42877_merged.csv 13.57 11.24 -17.1%
A15153_08-06-2018.csv 9.77 5.79 -40.8%
Alkefjellet_11307_010720_corrupt.csv 8.23 7.79 -5.3%
An11_YL.txt 12.61 10.27 -18.5%
An12_PC.txt 11.71 9.48 -19.1%
An12_PJ.txt 12.06 9.78 -18.9%
BK_AN_161_PT_020713.LOG 21.20 17.04 -19.6%
BLK_An_189_01_120704.TXT 11.93 10.09 -15.4%
BLK_An_215_03_120716.TXT 10.68 9.34 -12.5%
BRGU 4215328 AXY-29 04072018_S2.csv 14.40 11.29 -21.7%
BRGU AXY06 15062018_S3.csv 14.36 11.56 -19.4%
CG_DI_A08918_02-07-12.CSV 9.24 5.23 -43.4%
ES-SK-F-19011-295827-20200702-X27_Acc.txt 8.60 5.24 -39.1%
ES_RU_292616_TDR_red.csv 8.77 4.62 -47.3%
G199_120708.TXT 12.22 10.02 -18.0%
Ho11_EM(csv version).csv 14.61 11.66 -20.2%
J150H_243391_20250210_131300.csv 13.34 9.62 -27.9%
Obs250823_130741_Tag47649Press.txt 12.93 8.87 -31.4%
Tag41485_combined.pos 13.59 11.02 -18.9%
putty_20130705_base115_2.log_106_GPS.csv 12.01 8.28 -31.0%

Average: -19.5%

No significant regressions detected.

@github-actions

Copy link
Copy Markdown

Benchmark Comparison

Detection (detect_file)

Test Baseline (ms) Current (ms) Change
020719_BK_An_6199165_CC6_GPS.csv 2.80 1.83 -34.7%
10_raw_csv_format.txt 5.26 1.90 -63.8%
110708210243 BKAN 199 ZE.LOG 3.07 1.79 -41.9%
150717_BK_AN_6199514_GPS11.csv 1.49 1.30 -12.6%
1d0000021e.65509.-EnvironmentData-Environment.csv 8.49 4.01 -52.8%
1d00000229.65520.-LocationData-Interrex_gpslogger.csv 5.40 2.41 -55.3%
20150715-6126271-OSS.csv 2.28 1.62 -28.9%
20160619-6223861-KRY.csv 2.14 1.65 -22.8%
20160710-6217930-OBS.csv 3.43 2.66 -22.5%
20160710-6228801-OBS.csv 2.90 2.04 -29.6%
20170622-102857.gpx 2.16 2.17 +0.4%
20170622-215451.gpx 1.93 1.93 -0.2%
20170622-215608.gpx 1.73 1.75 +0.9%
232772_20231115_12030_Ornitela_gpslogger.csv 6.06 3.09 -49.1%
41422_all_data.pos 4.34 2.36 -45.5%
7AD_Tag42853_merged.csv 4.69 2.24 -52.2%
7EH_Tag42877_merged.csv 4.58 2.04 -55.4%
A15153_08-06-2018.csv 6.94 3.05 -56.1%
Alkefjellet_11307_010720_corrupt.csv 1.65 1.16 -29.4%
An11_YL.txt 4.23 2.14 -49.5%
An12_PC.txt 4.05 2.05 -49.4%
An12_PJ.txt 4.00 2.07 -48.2%
BK_AN_161_PT_020713.LOG 10.91 8.63 -20.9%
BLK_An_189_01_120704.TXT 4.70 3.23 -31.3%
BLK_An_215_03_120716.TXT 4.24 2.60 -38.6%
BRGU 4215328 AXY-29 04072018_S2.csv 6.48 3.50 -46.0%
BRGU AXY06 15062018_S3.csv 6.36 3.59 -43.6%
CG_DI_A08918_02-07-12.CSV 6.36 2.37 -62.7%
ES-SK-F-19011-295827-20200702-X27_Acc.txt 5.52 2.05 -62.9%
ES-SK-F-19015-295738-20210630-X23_Acc.txt 6.37 3.02 -52.6%
ES_RU_292616_TDR_red.csv 6.03 1.79 -70.3%
G199_120708.TXT 4.80 3.02 -37.0%
Ho11_EM(csv version).csv 5.12 2.50 -51.2%
J150H_243391_20250210_131300.csv 5.89 2.75 -53.3%
J2710_242854_20250210_101400.csv 5.21 2.00 -61.5%
Obs250823_130741_Tag47649Press.txt 6.36 2.19 -65.6%
R\xf8st_EUSH_2004866_NJ_GPS42941_2022.pos 3.92 1.71 -56.3%
Tag41485_combined.pos 4.38 2.34 -46.6%
putty_20130705_base115_2.log_106_GPS.csv 5.26 2.02 -61.5%

Average: -42.6%

Full Pipeline (detect_file + as_table)

Test Baseline (ms) Current (ms) Change
020719_BK_An_6199165_CC6_GPS.csv 11.97 9.63 -19.6%
10_raw_csv_format.txt 15.30 10.48 -31.5%
110708210243 BKAN 199 ZE.LOG 12.95 10.04 -22.5%
150717_BK_AN_6199514_GPS11.csv 9.76 7.96 -18.4%
1d0000021e.65509.-EnvironmentData-Environment.csv 26.83 20.45 -23.8%
1d00000229.65520.-LocationData-Interrex_gpslogger.csv 14.54 10.09 -30.6%
20150715-6126271-OSS.csv 10.87 9.33 -14.2%
20160619-6223861-KRY.csv 11.08 9.71 -12.4%
20160710-6217930-OBS.csv 11.91 10.15 -14.8%
20160710-6228801-OBS.csv 11.81 9.90 -16.2%
20170622-102857.gpx 9.00 8.72 -3.2%
20170622-215451.gpx 8.65 8.29 -4.2%
20170622-215608.gpx 8.14 8.14 -0.0%
232772_20231115_12030_Ornitela_gpslogger.csv 15.43 10.50 -31.9%
41422_all_data.pos 14.49 10.89 -24.9%
7AD_Tag42853_merged.csv 15.87 12.11 -23.7%
7EH_Tag42877_merged.csv 15.03 11.22 -25.4%
A15153_08-06-2018.csv 10.59 6.02 -43.1%
Alkefjellet_11307_010720_corrupt.csv 9.84 7.80 -20.7%
An11_YL.txt 13.82 10.00 -27.7%
An12_PC.txt 12.91 9.46 -26.7%
An12_PJ.txt 13.01 9.40 -27.7%
BK_AN_161_PT_020713.LOG 21.50 16.99 -20.9%
BLK_An_189_01_120704.TXT 12.46 9.84 -21.0%
BLK_An_215_03_120716.TXT 12.59 9.28 -26.3%
BRGU 4215328 AXY-29 04072018_S2.csv 15.45 11.82 -23.5%
BRGU AXY06 15062018_S3.csv 15.27 11.92 -21.9%
CG_DI_A08918_02-07-12.CSV 10.14 5.29 -47.8%
ES-SK-F-19011-295827-20200702-X27_Acc.txt 9.97 5.11 -48.8%
ES-SK-F-19015-295738-20210630-X23_Acc.txt 10.95 5.89 -46.2%
ES_RU_292616_TDR_red.csv 9.62 4.72 -50.9%
G199_120708.TXT 12.79 9.81 -23.3%
Ho11_EM(csv version).csv 15.53 11.48 -26.1%
J150H_243391_20250210_131300.csv 14.72 9.86 -33.0%
J2710_242854_20250210_101400.csv 12.98 8.38 -35.5%
Obs250823_130741_Tag47649Press.txt 14.42 9.37 -35.0%
R\xf8st_EUSH_2004866_NJ_GPS42941_2022.pos 13.95 9.98 -28.5%
Tag41485_combined.pos 14.67 10.86 -25.9%
putty_20130705_base115_2.log_106_GPS.csv 13.02 8.56 -34.2%

Average: -25.9%

No significant regressions detected.

@nicokant
nicokant merged commit 45bab55 into main Apr 22, 2026
5 of 7 checks passed
@nicokant
nicokant deleted the improvements branch April 22, 2026 09:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant