profiler-start
Komenda posiada opcje cpu
, mem
oraz cpu+mem
. Czy istnieje sposób na profilowanie polecenia według upływu czasu?
profiler-start
Komenda posiada opcje cpu
, mem
oraz cpu+mem
. Czy istnieje sposób na profilowanie polecenia według upływu czasu?
Odpowiedzi:
Nie jestem pewien, czy możesz to zrobić za pomocą profiler.el, ponieważ jest to profiler do próbkowania. W rzeczywistości nie mierzy czasu działania funkcji, okresowo sprawdza, czy funkcja jest aktualnie wykonywana, i sumuje wszystkie te próbki.
ELP lub EmacsLispProfiler to kompilator instrumentalny. Aby włączyć oprzyrządowanie, użyj funkcji M-x elp-instrument na jednej lub kilku funkcjach. Po uruchomieniu kodu, który wywołuje funkcje instrumentowane, uruchom M-x elp-results . Spowoduje to wyświetlenie bufora pokazującego całkowitą liczbę połączeń i czas, jaki upłynął dla każdej instrumentowanej funkcji. Sprawdź M-x find-libary Elp, aby uzyskać więcej informacji.
Jeśli dokładnie wiesz, jaką funkcję chcesz profilować, biblioteka testów porównawczych może być również przydatna.
Możesz użyć,
benchmark
aby określić, jak długo trwa polecenie.
(benchmark 100 (command))
100 to liczba powtórzeń, spraw, aby były wystarczająco duże, aby wyniki były znaczące. I nie zapomnij, że możesz nazywać to także interaktywnie.
(testowy FORMULARZ POWTÓRZENIA)
Wydrukuj czas wykonania FORMULARZ REPETITIONS.
Interaktywnie REPETITIONS są pobierane z przedrostka arg.
Możesz go także użyć w dowolnej formie, a nie tylko w jednym poleceniu.
(benchmark 100 (form to (be evaluated))