W jaki sposób zmierzyć obciążenie pamięci podczas testowania aplikacji?

0

W jaki sposób zmierzyć obciążenie pamięci podczas testowania aplikacji? Np. wstawiania 10 nowych rekordów.

Istnieją do tego jakieś programy?

1

Ale jakiej aplikacji? Na jakim systemie? W jakim języku? Jakich rekordów? Gdzie wstawianiu?

0

W zależności od języka/technologii są różne profilery pamięci.
https://duckduckgo.com/?q=memory+profiling&t=canonical&ia=web

0

Chodzi o przetestowanie jakiś prostych operacji w aplikacji napisane w Reacie. Mogą to być operację takie jak np. pobranie kilku elementów z DOMu.

0

Jaki OS?

2

Ogólnie mierzenie czasu dodawania/pobierania kilku elementów brzmi jak microbenchmark. Microbenchmarki są trudne do mierzenia, bo łatwo zamiast czasu wykonywania operacji zmierzyć szum dookoła. Sensowne benchmarki to takie które obciążają CPU na 50-90%. Wtedy dobiero można zaobserwować coś ciekawego. Chyba że te kilka elementów już obciąża CPU na 50%, to co innego :D

3

Istnieje sporo narzędzi do profilowania etc. Ale to, którego potrzebujesz mocno zależy od tego, co właściwie chcesz zrobić, jakiego języka używasz, jaki masz OS, być może nawet jakiego IDE używasz...

Masz do dyspozycji np.:

  • systemowe narzędzia do monitorowania wykorzystania zasobów - np. monitor zasobów Windows pozwala monitorować wykorzystanie przez konkretny proces/procesy
  • różnej maści narzędzia standalone do profilowania np. gprof, valgrind etc
  • narzędzia zintegrowane z IDE
  • przeglądarki też mają jakieś tam wbudowane narzędzia deweloperskie
0

Sensowne benchmarki to takie które obciążają CPU na 50-90%.

W takim razie co takiego by było można testować w dosyć prostej aplikacji np reactowej aby tak mocno obciążyć procesor? Jakie operacje wykonywać, ile razy itd.?

I kolejne pytanie jak pod względem czasowym można by przetestować poszczególne operacje?

0
kaczor19 napisał(a):

Sensowne benchmarki to takie które obciążają CPU na 50-90%.

W takim razie co takiego by było można testować w dosyć prostej aplikacji np reactowej aby tak mocno obciążyć procesor? Jakie operacje wykonywać, ile razy itd.?

I kolejne pytanie jak pod względem czasowym można by przetestować poszczególne operacje?

Człowieku, sypnij więcej konkretów!
Teraz napisałeś "react" i teraz czy chodzi o React w przeglądarce czy React Native? Obie rzeczy mimo, że podobne to testuje się zupełnie inaczej. W pierwszym przypadku trzeba użyć funkcji przeglądarki, a w drugim funkcji kompilatora/systemu lub innych narzędzi.

Opisz dokładnie język, środowisko framework'i twojej aplikacji to wtedy osoba kompetentna w danej udzieli ci sensownej odpowiedzi.

0
MarekR22 napisał(a):
kaczor19 napisał(a):

Sensowne benchmarki to takie które obciążają CPU na 50-90%.

W takim razie co takiego by było można testować w dosyć prostej aplikacji np reactowej aby tak mocno obciążyć procesor? Jakie operacje wykonywać, ile razy itd.?

I kolejne pytanie jak pod względem czasowym można by przetestować poszczególne operacje?

Człowieku, sypnij więcej konkretów!
Teraz napisałeś "react" i teraz czy chodzi o React w przeglądarce czy React Native? Obie rzeczy mimo, że podobne to testuje się zupełnie inaczej.

Opisz dokładnie język, środowisko framework'i twojej aplikacji to wtedy osoba kompetentna w danej udzieli ci sensownej odpowiedzi.

Chodzi o zwykłego Reacta. Skoro React to jsx jest językiem programowania, a react frameworkiem. Korzystam z visual studio code jeśli chodzi o środowisko uruchomieniowe. Tak na prawdę nie mam jeszcze aplikacji, a po prostu chciałbym coś utworzyć i to przetestować pod kątem wydajności żeby zobaczyć jak tego typu testy się przeprowadza.

0

Widzisz, jakbyś od razu powiedział, że chodzi o przeglądarkę, to byśmy Ci powiedzieli, że w DevToolsach masz do tego narzędzia, które rysują Ci flamegraph z wywoływanych funkcji oraz masz tam możliwość mierzenia jak wygląda użycie pamięci.

0

W przeglądarce, Chrome - https://developers.google.com/web/tools/chrome-devtools/memory-problems
Możesz "nagrywać" zużycie pamięci, robić zrzuty w każdej chwili, dokładnie widzisz co gdzie jest i ile zajmuje pamięci.

0

@kaczor19: Moze opisz dokladnie setup aplikacji, jaki test chcesz wykonac i co dokladnie chcesz pomierzyc to wtedy moze ktos bedzie w stanie Ci pomoc.

Bo na razie to pytanie na zasadzie: chce kupic auto, jakie bedzie najlepsze? A nie wiemy czy chcesz sie nim wyscigowac, wozic dzieci, wozic rzeczy na dzialke, czy przewiezc 10 europalet.

3

na razie to chcę cokolwiek przetestować pod kątem wydajności w aplikacji webowej aby zobaczyć z czym to się je.

Jak chcesz testować cokolwiek jakkolwiek na czymkolwiek to nie przetestujesz nic. Zdecyduj się najpierw co właściwie chcesz zrobić i dopiero pod to dobieraj metody i narzędzia.

Chyba że mamy Ci wymyślić temat a Ty będziesz się z tym później męczyć... Challenge accepted :]

Bardzo proszę abyś przetestował wydajność paru dowolnych algorytmów mnożenia macierzy gęstych/rzadkich z różnymi przykładami optymalizacji, wraz z wizualizacją każdego w real-time :) możesz do woli sterować rozmiarem mnożonych macierzy żeby obciążenie pamięci i CPU było właściwe.

No i przyda się młodszym pokoleniom do nauki metod numerycznych ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1