Skip to content

feat: Cytiva Biacore T200 Control - improve performance#1043

Merged
nathan-stender merged 2 commits into
mainfrom
jherna/cytiva_biacore_t200_control_reduce_time_process
Jul 23, 2025
Merged

feat: Cytiva Biacore T200 Control - improve performance#1043
nathan-stender merged 2 commits into
mainfrom
jherna/cytiva_biacore_t200_control_reduce_time_process

Conversation

@joshua-benchling

@joshua-benchling joshua-benchling commented Jul 22, 2025

Copy link
Copy Markdown
Collaborator

Local testing:

  • Small files: From 6.8 seconds to 0.13 seconds (98% reduction)
  • Large files: From 67+ seconds to 7.5 seconds (89% reduction)
  • Core bottleneck: 99.27% time reduction in sensorgram data grouping
  • Scalability: Performance scales well with file size

Key Technical Improvements

  • Replaced DataFrame.at[] assignments with bulk .loc[] operations
  • Used numpy arrays for time value cycling instead of dictionary lookups
  • Moved data collection rate lookup outside groupby loop
  • Computed reference times once per cycle group

@nathan-stender nathan-stender left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome! Can you add a brief description of what the key improvements were in the PR description - for future reference?

@nathan-stender nathan-stender changed the title refactor: Cytiva Biacore T200 Control - improve performance feat: Cytiva Biacore T200 Control - improve performance Jul 22, 2025
@nathan-stender
nathan-stender merged commit 6b41d62 into main Jul 23, 2025
7 checks passed
@nathan-stender
nathan-stender deleted the jherna/cytiva_biacore_t200_control_reduce_time_process branch July 23, 2025 15:04
nathan-stender added a commit that referenced this pull request Jul 23, 2025
### Added

- Cytiva Biacore T200 Control - improve performance (#1043)
- Luminex Intelliflex - initial implementation (#1035)

### Fixed

- Agilent Gen5 - fix issue with numeric wavelength measurement labels
(#1045)
- Luminex xPONENT - improve calibration datetime validation check
(#1041)
joshua-benchling added a commit that referenced this pull request Sep 15, 2025
Local testing:
* Small files: From 6.8 seconds to 0.13 seconds (98% reduction)
* Large files: From 67+ seconds to 7.5 seconds (89% reduction)
* Core bottleneck: 99.27% time reduction in sensorgram data grouping
* Scalability: Performance scales well with file size

Co-authored-by: Nathan Stender <nathan.stender@benchling.com>
joshua-benchling pushed a commit that referenced this pull request Sep 15, 2025
### Added

- Cytiva Biacore T200 Control - improve performance (#1043)
- Luminex Intelliflex - initial implementation (#1035)

### Fixed

- Agilent Gen5 - fix issue with numeric wavelength measurement labels
(#1045)
- Luminex xPONENT - improve calibration datetime validation check
(#1041)
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.

2 participants