Thread: Real, user, sys time

Dlaczego podczas mierzenia czasu wykonania programu za pomocą komendy 'time', 'sys' jest 3 razy większy od 'user'? Oprócz alokacji tablicy/wektora i operacji na nich nic w moim kodzie nie ma... Ma ktoś jakiś pomysł?
Alokacja pamięci jest operacją systemową i Twój program tylko ją wywołuje więc jej czas wliczy się w sys a nie user. Jeśli to jedyna operacja to nic dziwnego że jest dłuższa niż reszta programu.
Jak się okazało alokowane struktury dynamiczne nie były zbyt duże (na moich testach), więc to nie alokacja. Większość czasu jest przeznaczana na operacje wejścia/wyjścia ; może czas wyrzucić tego złoma przez okno
Ja tak miałem w jednym zadaniu zanim dodałem to na początku main():
cin.tie(NULL);
tak jak ktoś już radził na forum. To drugie też pomaga:
ios_base::sync_with_stdio(false);
@Anna: Często jednak alokacje na potrzeby new/malloc są wykonywane bez odwoływania się do systemu. Kod zarządzający stertą (heap) trzyma trochę pamięci "na wszelki wypadek", czy to wcześniej zwolnione obszary, czy też pobrane z systemu na zapas.