Skip to content
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

Improve proxy management for data using COW #81

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

pfernique
Copy link
Member

Some proxies are used to fasten data manipulation (e.g., WeightedData) are error prone (segfaults) or induce non user-friendly manipulation (e.g., ProxyError thrown).

From now, these proxies are constructed from a pointer to the decorated data and store this pointer.
Since this decorated data can be deleted, some tests are required to ensure that pointed data still exists.
Since most of these proxies are constructed from data that won't be modified, using the COW design pattern will as efficient and far more user-friendly.

@pfernique pfernique self-assigned this Apr 9, 2019
@pfernique
Copy link
Member Author

pfernique commented Apr 9, 2019

This has to be done for:

  • Univariate sample spaces. This has been tackled in pfernique@07b5cb8. Note that only categorical sample spaces are COW since others don't require a lot of copying (2 ints or 2 doubles and 2 bools).
  • Multivariate sample spaces. This has been tackled in pfernique@ee0a384 for multivariate sample spaces created from univariate sample space vector.
  • Univariate data frames. This has been tackled in pfernique@abd5bba but is not used for any other class using univariate data.
  • Multivariate data frames.
  • Data maskes.
  • Estimations.

@pfernique pfernique pinned this issue Apr 15, 2019
@pfernique pfernique changed the title Improve proxy management for data using COW WIP: Improve proxy management for data using COW May 6, 2019
@pfernique pfernique added the wip label May 6, 2019
@pfernique pfernique changed the title WIP: Improve proxy management for data using COW Improve proxy management for data using COW May 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant