Wisp
Wisp copied to clipboard
Use virtual threads instead of a thread pool
Virtual threads are becoming a reality since Java 19, though currently they are only available through preview usage of the JVM: --enable-preview.
When virtual threads are fully part of the JVM, Wisp core should be rewritten to use virtual threads:
- It should actually consume less hardware resources
- The core code will be smaller and easier to maintain
- There will be no more need to configure the thread pool since virtual thread pooling is not recommended
For now this is paused because virtual threads must use only code that is not dependent on the synchronized keyword. Since this keyword is used widely in the JDK itselft, it is not safe enough to rely on virtual threads. Especially when the gains are not clear. When this feature is implemented, a benchmark needs to clarify the gains of switching to virtual threads.