Pa i na intelu isto, mislio sam da se to podrazumeva :). Ja u svakom slucaju isto nikad to ne koristim umesto synca, cak ne koristim ni interlocked jer uglavnom ni ne radim sa integer tipovima. I pored toga nisam ima jos nijedan multithreaded scenario gde je locking bio toliko predominantan (tj da postoji toliki stepen uvezanosti da ne moze da se optimizuje ni particionise). Sa obzirom na to da se multi-threading obicno poteze za puno jacih workload-a 9sto bi se jebavao za nesto sto jedan core moze da ti zavrsi za zanemarljivo vreme) cena i najskupljeg acquire/release mehanizma je maginalna ako se pametno koristi, u svakom slucaju acquire/wait na svim multithreaded sistemima baca thread u sleep tako da u situacijama kad je broj taskova veci od stepena paralelizacije prakticno i nema gubljenja vremena, sledeci task ce preuzeti slobodne CPU cikluse dok ovaj ceka. Poenta paralelizacije nije nesmetani run jednog taska (iako je to lepo imati), poenta je maksimalno iskoriscenje procesora i samim tim skracenje ukupnog vremena obrade.
▪ Success is: 1% inspiration, 98% perspiration and 2% attention to detail
▪ When the only tool you know how to use is a hammer every problem begins to look like a nail





Re: Isključivanje optimizacije
