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 marbl_config_and_parms_type for better search #79

Open
mnlevy1981 opened this issue Jun 15, 2016 · 1 comment
Open

Improve marbl_config_and_parms_type for better search #79

mnlevy1981 opened this issue Jun 15, 2016 · 1 comment

Comments

@mnlevy1981
Copy link
Collaborator

As of 6ba527f (on the enhancements/initialization branch of my fork of MARBL), I added the ability for the GCM to call

call marbl_instance%parameters%put([varname], [value], marbl_instance%StatusLog)

For each put() call, though, MARBL will do a linear search through marbl_instance%parameters%vars(:) and look for the index that corresponds to [varname], which is O(N). Restructuring marbl_config_and_parms_type would allow us to speed this up significantly; @klindsay28 has mentioned using a binary tree or a hash as two possibilities.

I believe this can be done without affecting the MARBL interface at all, so I don't think it is necessary for MARBL 1.0.0... but I do want to keep it in mind.

@mnlevy1981
Copy link
Collaborator Author

I think it should be noted somewhere -- without running CISO, MARBL has 157 variables that can be set during config and 416 that can be set during init. Turning CISO on increases those to 170 and 546, respectively.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant