[refactor]: merge multiple models into singular file for standard output

Đang mở
#457 14 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@JZahner1 đang làm issue này rồi.

Từ ngày 6/11/2026.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
48/100
Loại issue
Tái cấu trúc
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
r
Lĩnh vực
data

Hướng nghiên cứu

Start by reading the standard-output code that creates the tables and figures, and trace where it currently passes a list of data frames; the issue does not name specific files or tests. Check whether those data frames share a schema and how the outputs consume them. Done means the outputs use a single data frame and the package's relevant tests pass.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement

We should feed in a single df to all tables and figures rather than a list. Especially to aid in memory issues. See rationale below:

Memory wise, it is more efficient to have a dataframe rather than a list. I am thinking that if we actually move to parquet files/databases that the list of dataframes would be the least efficient way to store this information in R. And, according to Gemini

A single consolidated data frame is significantly more memory-efficient and performant than a list of many small data frames, assuming the data frames share the same schema. Every R object carries structural overhead (class definitions, attributes, dimensions, and names). If you store thousands of small data frames in a list, R maintains thousands of separate attribute vectors and column names. Consolidating into one table collapses that metadata into a single set. R's vector engine operates on contiguous blocks of memory. Iterating over elements in a list (e.g., via lapply() or purrr::map()) incurs call-stack overhead and traverses fragmented pointers across the heap, whereas column operations on a single data frame utilize SIMD vectorization and cache locality. The R garbage collector tracks every allocated node (Vcells and Ncells). Having a large list of separate data frames balloons the total count of distinct objects, forcing the garbage collector to run frequently and cause execution pauses.
A list of data frames is only preferable if:

  1. The structures differ: The tables do not share common columns or types, making a combined table sparse or full of NA padding.
  2. Independent lifecycle: You frequently delete, update, or process chunks independently and want to let R selectively garbage-collect individual pieces without rewriting a massive master table.

Originally posted by @kellijohnson-NOAA in #455

Ngôn ngữ chính
R
Star
20
Fork
10
Merge trung bình
3 ngày 8 giờ
Pull request đã merge (30 ngày)
31

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của nmfs-ost/stockplotr

Tất cả issue của nmfs-ost/stockplotr

Issue tương tự

Thêm issue về R

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.