W AQTime dla Delphi, może być bardzo szybki, aby dostać się do punktów zapalnych za pomocą obszarów i wyzwalaczy itp. Ale wydaje mi się, że szczególnie jeśli masz bardzo dużo kodu w obszarach do profilowania, to wykonanie zwalnia dramatycznie, nawet jeśli profilowanie NIE jest włączone.Dlaczego funkcja AQTime spowalnia wykonywanie, nawet jeśli profilowanie nie jest włączone i czy można zrobić coś dla niego?
Na przykład, jeśli chcę profilować określoną procedurę pod koniec programu, ale nie wiem, jak się tam nazywa, myślę, że ta procedura powinna być traktowana jako wyzwalacz i początkowy status wątków jako Wyłącz, a następnie wybierz "Pełne sprawdzenie według procedur/linii". Jednak kiedy to zrobię, wykonywanie programu spowolni mocno, zanim jeszcze zostanie uruchomiona procedura wyzwalacza.
Na przykład, jeśli "proces przygotowania" trwa około 5 minut bez AQTime, to po uruchomieniu z wyłączonym profilowaniem działa już od 30 minut i nadal działa, nawet jeśli wiem, że wyzwalacz jeszcze nie został uruchomiony. osiągnięty.
Wiem, że mogę spróbować to obejść, zmniejszając liczbę profilowanych linii/linii, ale to nie jest dobre rozwiązanie dla mnie, ponieważ chciałbym profilować wszystkie z nich, gdy dojdę do faktycznego wyzwalacza rutyna.
Innym, często lepszym rozwiązaniem jest uruchomienie aplikacji bez AQTime, a następnie użycie opcji Załącz do procesu po zakończeniu "przygotowania do pracy", ale działa to dobrze tylko wtedy, gdy wykonywanie zatrzymuje się w GUI w odpowiednim miejscu lub w inny sposób zapewnia odpowiednie ramy czasowe do wykonania mocowania. We wszystkich przypadkach tak nie jest.
Wszelkie uwagi na temat tego, dlaczego tak się dzieje i czy jest jeszcze coś do zrobienia, niż próba zredukowania kodu z obszarów lub późniejszego dołączenia do procesu?
Jeśli nie znasz nazwy procedury, nie jest ona zbyt szczegółowa, prawda? –
Czy poprosiłeś o wsparcie AutomatedQA, aby uzyskać pomoc w tej sprawie? – Lucero
Znam procedurę, która uruchamia profilowany proces (dodaję to jako wyzwalacz), ale sama procedura może tworzyć duże łańcuchy wywołań we wszystkich obszarach aplikacji (mniej więcej), więc nie wiem, jaki kod dodać jako obszary. -Nie, nie zapytałem jeszcze AutomatedQA o to, myślę, że mogę iść z obejściem, ale zastanawiałem się, czy ktoś ma więcej informacji. –