<commit_before>(*** hide ***)
#I "../../bin/v4.5/"
(**
Compiler Services: Notes on the FSharpChecker operations queue
=================================================

This is a design note on the FSharpChecker component and its operations queue.  See also the notes on the [FSharpChecker caches](caches.html)

FSharpChecker maintains an operations queue. Items from the FSharpChecker operations queue are currently processed 
sequentially and in order. They are also leaved with small incremental fragments of parse/check work 
(<50ms, see maxTimeShareMilliseconds) to bring the checking of the "current background project" up-to-date. 

For a working definition of "current background project" you currently  have to see the calls to 
StartBackgroundCompile in [service.fs](https://github.com/fsharp/FSharp.Compiler.Service/blob/master/src/fsharp/vs/service.fs) - an API call which in turn calls StartBackgroundCompile 
indicates that the current background project has been specified. <commit_msg>clarification to queue docs<commit_after>(*** hide ***)
#I "../../bin/v4.5/"
(**
Compiler Services: Notes on the FSharpChecker operations queue
=================================================

This is a design note on the FSharpChecker component and its operations queue.  See also the notes on the [FSharpChecker caches](caches.html)

FSharpChecker maintains an operations queue. Items from the FSharpChecker operations queue are currently processed 
sequentially and in order. 

In addition to operations in the queue, there is also a low-priority, interleaved background operation
to bring the checking of the checking of "the current background project" up-to-date.  When the queue is empty
this operation is conducted in small incremental fragments of parse/check work (cooperatively time-sliced to be approximately <50ms, 
see maxTimeShareMilliseconds in IncrementalBuild.fs). For a working definition of "current background project" 
you currently  have to see the calls to  StartBackgroundCompile 
in [service.fs](https://github.com/fsharp/FSharp.Compiler.Service/blob/master/src/fsharp/vs/service.fs),
where an API call which in turn calls StartBackgroundCompile indicates that the current background project has been specified.
{'fraction_non_alphanumeric': 0.10803571428571429, 'fraction_numerical': 0.0035714285714285713, 'mean_word_length': 5.294943820224719, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '317239', 'n_tokens_mistral': 569, 'n_tokens_neox': 539, 'n_words': 256}