![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 31.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam, potrzebuje zmierzyc czas wykonywania komend exec/system, ale w sposob, zeby np. mierzac 3 czasy, byly by one jak najbardziej dokladne. W jakis sposob mozna dac najwyzszy priorytet dla danego kodu? Opcja z microtime wydaje sie byc za bardzo rozbiezna, czy jest bardziej optymalne wyjscie? Serwer stoi na apache'u
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Generalnie do zwiększenia priorytetu procesu stosuje się polecenie "nice". Szczegóły w manualu.
Możesz też pobawić się (z linii komend linuksa) instrukcją "time", która podaje trzy czasy: Kod [user@host ~] $ time ls -la > /dev/null real 0m0.038s user 0m0.004s sys 0m0.008s Jaki czas czemu odpowiada - też odsyłam do manuala. Moim zdaniem, jeśli chcesz testować szybkość swojego kodu (np. do celów benchmarków), wykonaj ten kod w pętli N razy i wybierz najmniejszą wartość (najszybciej wykonany kod). Jeśli chcesz oszacować przeciętny czas wykonania się kodu, wybierz średnią (lub medianę) z N pomiarów. I pamiętaj, że Linux to system wielozadaniowy (to zapewne wiesz), i przyjmij do wiadomości, że nie jesteś (i nie będziesz) w stanie wykonać swojego procesu z takim priorytetem, by inne procesy nie uszczknęły czegoś z mocy procesora. A to, jak się domyślasz, zafałszuje te wyniki, które chcesz uzyskać. Przy okazji: nie wiem, do jakich rzeczy potrzebujesz takich danych - jeśli napiszesz coś więcej, postaram się coś doradzić. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 00:08 |