Clarifications about uvm_config db performance

could you please clarify the following.

using uvm_config_db we are setting the object once and retreving the object once. but through out the similation we are writing to the object and reading the object lot of times. so could you please clarify whether it will lead to performace issues? if true what could be the reason as setting of the object to the config_db is done once and retreiving is also done once.

Thank you

As the name implies, the config_db is meant to pass configuration data from a test down the hierarchy to environments/agents. It is not meant to be used to pass any simulation data, and you will likely incur significant simulation penalties if used in this manner.

I think the point is you use the uvm_config_db once to pass a handle to a configuration object into your testbench. Once you have the handle, you can read&write variables in the object using the handle; you are no longer going through the uvm_config_db. This would not be the case if instead of using a single configuration object, you used the uvm_config_db for each individual variable.

Thanks Dave for clarification. So we can use uvm_config_db also to share single class object between componemts instead of TLM ports and the object can be used for exchanging the communication between object shared componemts. Please correct me if I am wrong.

Thanks
Srilakshmi