When an operation is processed several times (ex : user type several characters, some operations are done like codeLens). It should be nice to cancel:
the codeLens request : if language server manages correctly the cancel support, it will stop the compute of codelens and will throws a CancellableException.
the process of the codeLens request result : we should stop to update CodeMing in this case.
For hover when user hove something and language server takes some times and user move the mouse, in this case the hover request must be canceled in order to language server stops the process.
IMHO I think it will improve the performance when some process could take time on language server and language server will be more responsive.
When an operation is processed several times (ex : user type several characters, some operations are done like codeLens). It should be nice to cancel:
For hover when user hove something and language server takes some times and user move the mouse, in this case the hover request must be canceled in order to language server stops the process.
IMHO I think it will improve the performance when some process could take time on language server and language server will be more responsive.