Ivan:"koda koji spava na po 10ms u beskonacnoj petlji u jednom threadu kao subsitucija za tajmer"
Znas kako timer mozes tako implementirati, potom bacati signal ili ubaciti u event loop. Linux nudi opciju 1. i 2. dok Windows nudi opciju 3.
Ne dovodim u pitanje da tako mozes implementirati tajmer, ali taj kod o kome pricam apsolutno nije imao potrebe da budi thread svakih 10 milisekundi i radi nesto (plus, ostatak tog koda je bio thread-unsafe, ali to je vec druga prica). Cela stvar je mogla biti uradjena asinhrono, sa budjenjem tacno kada treba ali... ko god je pisao taj kod ocigledno nije umeo da uradi to kako treba.
Ili jos sampionskija stvar, Windows je dozvoljavao (ne znam da li i dalje dozvoljava, znam da su smanjili lose efekte prelaskom na tickless) da bilo koja sugava aplikacija poveca rezoluciju Sleep()-a do 1ms - nekada je rezolucija bila izmedju 10 i 15 ms, sto je bio standardni sistemski kvant na NT sistemima (obicno 15 ms).
Kao sto mozes da pogodis, svaki genije koji je "morao da ima preciznost u milisekundama" (pogotovu u samo-izmisljenim "tajmerima") je samo trebao da pozove jednu Win32 API funkciju (bez admin privilegija) i da natera ceo prokleti sistem da poveca rezoluciju tajmer interapta sa 60-100 na 1000 puta u sekundi. Mislim da je cak i Chrome browser to radio. Verovatno su spucani megavati struje zbog takvih idiotizama.
Sve u svemu, odavno smo usli u fazu da je generalno kod djubre i bar neki OS-evi se trude da minimizuju stetu.
Sumnjam da moze ici na bolje od toga.
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey