#help_index "Info;Time/CPU Cycles;Processor" class CCPURep { Bool mp_start,mp_end; I64 mp_not_done_flags, **swaps, **cycles; }; U0 MPCPURep(CCPURep *cr) { I64 swaps=0,cycles_0,cycles_f; while (!cr->mp_start) Yield; cycles_0=GetTSC; while (!cr->mp_end) { swaps++; Yield; } cycles_f=GetTSC; cr->swaps[Gs->num]=swaps; cr->cycles[Gs->num]=cycles_f-cycles_0; LBtr(&cr->mp_not_done_flags,Gs->num); } public U0 CPURep(Bool full=FALSE) {//Report number of cores and clock freq. I64 i,total_swaps,total_cycles; F64 t0,tf; CCPURep cr; if (!full) "%03X Cores %6h?nHz\n",mp_cnt,ToF64(cnts.time_stamp_freq); else { cr.swaps=CAlloc(sizeof(I64)*mp_cnt); cr.cycles=CAlloc(sizeof(I64)*mp_cnt); cr.mp_start=cr.mp_end=FALSE; cr.mp_not_done_flags=1<