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.
