vax-r opened a new issue, #1873:
URL: https://github.com/apache/iggy/issues/1873

   ## Description
   Currently, the type of `client` field within `IggyClient` is of type 
`IggySharedMut<Box<dyn Client>>`, where `dyn Client` is dynamically dispatched.
   It can be change to `IggySharedMut<T> where T: Client` so that static 
dispatch is utilized here.
   
   Execution time performance is expected to get benefit from it, while we need 
to concern the code bloat after compilation, if certain concrete type of `T` is 
large, it might make the executable too much larger than before.
   
   ## Expected Changes
   The usage of `IggyClient` is project-wide, at least very common in SDK.
   A thorough research about the relationship between structs within SDK that 
use `IggyClient` and anything that relates to it is done.
   
   The following part lists out the structs/method that will be change due to 
this refactor:
   * `IggyClient`
   * `IggyConsumer`
   * `IggyConsumerBuilder`
   * `IggyProducer`
   * `IggyProducerBuilder`
   * `ClientFactory::create_client()`
   * `ClientProviderConfig::get_raw_connected_client()`
   * `ClientProviderConfig::get_raw_client()`
   * `IggyCmdTest::new()`
   * `IggyExampleTest`
   
   The parts where use `IggyClient` API shouldn't be changed, the usage of API 
such e.g. `send()`, should remain the same after the change.
   
   ## Expected Result
   Switch the `client` field of `IggyClient` entirely from dynamic dispatch to 
static dispatch. Some performance tests are needed to justify the benefit of 
this change.
   
   ## Note
   The change can be project-wide and collide with some on-going work, please 
let me know if anything is changed against `IggyClient` or other structs/method 
mentioned above.
   I'll be happy to adjust on my side


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to