Xuanwo commented on issue #3097: URL: https://github.com/apache/incubator-opendal/issues/3097#issuecomment-1804996498
> My current thought is to utilize `Semaphore` and `JoinSet` to concurrently execute the stat API. Because `JoinSet::spawn()` will execute the task without requiring a call to `await()`. As a result, all the tasks that the JoinSet holds will be triggered before calling `self.handlers.join_next().await` inside `poll_next()` to obtain the result. Please enlighten me if I miss something 🫣. I some questions in the mind: - Our users care about not only performance but also memory usage. How can they control the concurrency inside? For example, how to control the `Semaphore` permits? - Can we avoid using `Semaphore` and `JoinSet` which introduces extra cost? I didn't take closer look into this feature, but I thought we can store those features directly? - Is this implementaion zero cost to users who don't want to do concurrent stat? - How to implement the similiar logic to blocking API? -- 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]
