Microsoft Research heeft een compiler ontwikkeld die het mogelijk zou maken om singlethreaded code die in C# is geschreven deels om te zetten naar multithreaded code. Hierdoor moet de complexe en tijdrovende ontwikkeling van multithreaded code eenvoudiger worden.
Rond 2004 nam het belang van de kloksnelheid als indicator van de processorsnelheid af ten opzichte van andere chip-eigenschappen: fabrikanten gingen zich onder andere meer op parallelle dataverwerking richten. Het logische gevolg was de komst van multicoreprocessors waarbij meerdere rekeneenheden in een chip worden verpakt.
Om de rekenkracht van moderne multicoreprocessors te kunnen benutten, dient software gebruik te maken van multithreaded code. Het schrijven van dergelijke code is echter complex en tijdrovend, mede omdat bepaalde bugs die kunnen optreden lastig zijn te reproduceren. Microsoft Research heeft echter een onderzoek vrijgegeven waarin het een compiler beschrijft die singlethreaded code via een 'auto-threading'-mechanisme deels om kan zetten naar multithreaded code.
De inputcode voor de experimentele compiler is C#. Door gebruik te maken van technieken als polymorphism en mechanismen die ingezet worden bij functional programming, zou de C#-code waar nuttig door de compiler geoptimaliseerd kunnen worden voor meerdere cores. Microsoft zou de compiler al hebben getest op een 'groot project' al is niet duidelijk over welk project het precies gaat. Ook zouden er met behulp van de compiler webservers en mpeg-decoders zijn gebouwd. Onbekend is nog wat de toekomst is voor het project.