Hello, I'm wondering about the logic in DefaultExecutor.

https://github.com/jOOQ/jOOQ/blob/main/jOOQ/src/main/java/org/jooq/impl/DefaultExecutor.java#L50-L53

When using a standard blocking JDBC driver, the bulk of the work done by a 
jOOQ thread will presumably be waiting on blocking network I/O. 
ForkJoinPool.commonPool() parallelism is set based on the number of 
processors available. This is appropriate for CPU-intensive tasks, but for 
JDBC threads spending most of their time waiting on network I/O shouldn't 
jOOQ leverage a much larger thread pool?

Example prior art: Kotlin Dispatchers.IO (designed for performing I/O 
operations like JDBC or other blocking calls) creates 64 threads or the 
number of cores (whichever is larger). 
See 
https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-dispatchers/-i-o.html.

Thanks,
Raman

-- 
You received this message because you are subscribed to the Google Groups "jOOQ 
User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jooq-user/48dc6586-97a9-4de1-b41c-4abfe0db52d5n%40googlegroups.com.

Reply via email to