Ne bih se u potpunosti slozio sa svim ovim. Jedini performance benefit koji unsafe mode donosi sam po sebi je pristup nizovima preko pointera (gde se stedi na proveri granica niza). Sve ostalo ide istom brzinom, cak nekad i sporije (ako koristis pinned objekte ili GCHandle na managed objekte direktno se mesas u posao GC-a i usporavas upravljanje memorijom plus overtime da se objekat zakljuca/otkljuca).
Unsafe nije zamisljen kao low-level c#, to je jednostavno "logicka granica" gde prestaje da vazi .NET type safety (strong typed casting) i kao posledica toga prestaje da vazi type security (posto mozes npr da pinujes string i da ga vezes na char* pa stringovi izgube immutable karakterisitku, vidi kod dole), a sve to da bi se omogucio marshaling izmedju .NET-a i native sistema (C/C++ lib, COM, etc). Dakle kod se izvrsava isto kao i pre samo sto je sad to neka zona sumraka u kojoj je sve dozvoljeno

, al na sopstveni rizik.
Code:
static unsafe void test()
{
string test1 = "Trla baba lan";
GCHandle gh = GCHandle.Alloc(test1, GCHandleType.Pinned);
char* t1 = (char*)gh.AddrOfPinnedObject().ToPointer();
*t1 = 'X';
Console.WriteLine(test1); // ispisace "Xrla baba lan"
}
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić