Domanda

AMD Bulldozer ha avuto successo nello spazio del server ma ha funzionato male sul desktop. A quanto ho capito, una delle principali cause di ciò è che le applicazioni del server sono state riscritte per utilizzare le istruzioni speciali di Bulldozer, che non vengono ancora utilizzate nelle applicazioni desktop. Will o ci aspettiamo che il compilatore giusto in tempo (JIT) li usi in 4.5, può/ torneranno portati su 4.0?

Chiarimento: la mia comprensione è stata che il JIT si compila per la macchina su cui è in esecuzione, non sulla macchina su cui è stata compilata in istruzioni IL. È stato affermato che a causa di queste applicazioni JIT possono effettivamente avere prestazioni più elevate del codice normale che viene compilato e collegato direttamente al binario.

È stato utile?

Soluzione

Sfortunatamente, il JIT .NET non è particolarmente sofisticato quando si tratta di prestazioni:

  • Anche sui server non fa pesanti ottimizzazioni come fa un compilatore C ++, sebbene abbia le stesse informazioni di un compilatore C ++. Semplicemente non fa certe cose
  • Utilizza istruzioni speciali solo per alcune operazioni con galleggianti
  • L'X64 ha anche problemi di qualità con ottimizzazioni non valide.
  • Mancano alcune ovvie ottimizzazioni come l'analisi della fuga

Sembra che il JIT non sia stato sviluppato con un budget particolarmente elevato. Quindi dubito che vedremo istruzioni così specializzate utilizzate.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top