-
Notifications
You must be signed in to change notification settings - Fork 7
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
How to mange molecule data set? #109
Comments
There is so much flexibility in the third screen, and it would be really unfortunate to reduce the number of kits/atoms. My (unsolicited) vote would be against that option. |
Just for clarification, any change to the amount of kits/atoms would have the same con of data regeneration noted in the above comment. |
As discussed today, we might see if there is some compression that can be done, but I don't think we need to reduce the data set at all. |
@ariel-phet mentioned via a zoom meeting on 02/07/20:
Deferring this issue until then. |
Molecule data is stored in a rather large data set. See
collectionMoleculesData
,otherMoleculesData
, andstructuresData
. This data contains all the available molecules that can be built in the play area.With this data, a build version of the sim is sized at 8.1MB. Quite larger compared to other sims. Also, note that downloading the sim via Chrome will compress the .html file to 2.3MB. That is about 1/4 compression but is still larger than other sims.
If this isn't a problem then there is nothing left to be done with this issue and we can close. Otherwise, there are a few things to consider to handle this data set. After a brainstorming with @jonathanolson, we came up with some considerations:
Reduce the amount of available atoms/kits//kitCollections.
Pro: This will, in turn, reduce the number of possible molecules and truncate our data set.
Con: The set of data will need to be regenerated. This is not a straight forward process. It
requires some digging into java code and sets a precedent for porting this code and adding
documentation.
We could serialize the data set into a JSON object.
Pro: This should make startup time a bit faster (if that is an issue) and slightly increase performance.
Con: This comes at the cost of space. A JSON object with fields and keys will be larger than the data generated by the Java code.
Use a post-processing step to generate molecule data via the network.
Pro: Should decrease size of the initial set of molecule data.
Con: Assumes a network connection. Intermediate steps involving recovering molecule data during or after bonding could hinder performance.
Thoughts @ariel-phet on how to proceed?
The text was updated successfully, but these errors were encountered: