6

Sto lavorando al nostro sistema di integrazione continua e sono interessato a simulare la gestione dei nostri sistemi di tempi di compilazione inaspettatamente lunghi. C'è un modo per fare in modo che la compilazione richieda molto tempo per essere completata? O forse costringerlo in una sorta di ciclo che richiederebbe una grande quantità di tempo per compilare? Sto cercando qualcosa di semplice come Thread.Sleep() solo sulla compilation piuttosto che sull'esecuzione.È possibile scrivere codice che causerà tempi di compilazione lunghi?

Come utilizzare le direttive del preprocessore?

Qualche idea?

+13

Usa C++ e la metaprogrammazione del modello con modelli ricorsivamente cronici? –

+4

Trasforma quel commento in una risposta perché potrei votarlo correttamente. –

+0

Prova la funzione ackermann nel codice del modello. Factorial in o (n!) Potrebbe anche fare bene. – BCS

risposta

7

Ovviamente l'attività Sleep è la strada da percorrere. Ma se sei interessato a come rendere il compilatore C# lungo arbitrariamente, FYI è possibile codificare i problemi nel codice sorgente che costringono l'algoritmo di risoluzione del sovraccarico ad eseguire un algoritmo O (n^m). Scegli n e m abbastanza grande e puoi fare in modo che il compilatore faccia tutto il lavoro che vuoi.

Ecco il mio articolo su questo argomento se sei interessato.

http://blogs.msdn.com/ericlippert/archive/2007/03/28/lambda-expressions-vs-anonymous-methods-part-five.aspx

+0

Fantastico! Grazie per l'ottima informazione. –

2

ho avuto un collega, una volta che ha scritto uno switch 16.000 linea. Ci sono voluti un'eternità per la compilazione, e poi quando lo ha ampliato un po 'di più ha effettivamente rotto il compilatore. In qualche modo, non sono sicuro che fosse quello che avevi in ​​mente, però.

Problemi correlati