2013-07-16 19 views
6

Wcześniej zrobiłem kilka małych małych przykładów z Angular JS. Mam wątpliwości co do kątowego zakresu $ w zakresie możliwości przechowywania dużych zestawów danych & wydajność z dużymi zbiorami danych.Jaki jest maksymalny rozmiar danych, które można przechowywać w zakresie angularjs? Wydajność aplikacji z dużymi teleskopami?

Przykład: W systemach rezerwacji hotelowych (takich jak http://www.hotels.com), zazwyczaj API hoteli (Hotelbeds, DOTW ...) daje setki hoteli dla Bangkoku, Dubaju, Hiszpanii ... itp. Jak popularne miejsca docelowe.

Moje pytanie brzmi, praca Zastosowanie

  1. Can bez utraty wydajności, gdy przypisujemy to dużo danych Zakres kątowy?

  2. Jaki jest maksymalny rozmiar danych, które można przechowywać w Angular Scope?

+0

Myślę, że to zależy od człowieka z pamięcią komputera, nie używam jeszcze kątowego, ale myślę, że po prostu przechowują dane w tablicy lub obiekcie javascript, który przechowuje się bezpośrednio w pamięci, myślę, że problemem jest więcej powolny komputer może przetwarzać zdarzenia dom i odświeżanie DOM z DUŻĄ ilością danych, niż ile można przechowywać. – ncubica

+1

Z mojego doświadczenia wynika, że ​​problem nie jest w rzeczywistości wielkością danych, ale liczbą aktywnych powiązań na tym komputerze. W szczególności posiadanie powtórzeń ng na olbrzymiej tablicy zabije twoje występy. – Yann

+0

Zgadzam się z innymi komentarzami tutaj, problem jest bardziej związany z tworzeniem tysięcy elementów DOM niż danych lub śladu pamięci z danych. Jeśli używasz rzeczy takich jak ng-grid, w których używana jest wirtualizacja, tylko podzestaw całego zestawu jest pokazywany, a więc dla listy 2000 elementów możesz mieć tylko 50 zestawów elementów DOM reprezentujących wiersze (zamiast 2000) podczas przewijania elementy DOM są ponownie używane zamiast niszczone/odtwarzane. Innym problemem, który można napotkać, jest strzelanie wielu zegarków, ale jest mało prawdopodobne, aby spowodowało to wąskie gardło. – shaunhusain

Odpowiedz

7

Z mojego doświadczenia podczas pracy z dużą ilością węzłów DOM, każdy zawierający kilka węzłów DOM, prędzej czy później twoje występy aplikacyjne zostaną naruszone: to właśnie dzieje się z wszystkimi javascript aplikacji po stronie klienta bacause to zależy na komputerze cpu i ram.

Aby uniknąć problemu, najlepiej jest pracować z niewielką ilością danych w widoku i, oczywiście, istnieje kilka technik, takich jak nieskończone przewijanie, które pomagają osiągnąć cel. Generalnie powinieneś pokazać w widoku kilka węzłów dom owych za każdym razem, gdy użytkownik wykona akcję (np. Przewijanie, zmiana strony lub filtrowanie).

Zobacz ciekawy artykuł: AngularJS Virtual Scrolling

Jeśli chcesz sprawdzić an angularjs performaces aplikacji używać Batarang

0

I zaleca, aby pozostać pod obserwatorów ze względu na wydajność.

Istnieje kilka sposobów, aby policzyć, ile trzeba, ale najłatwiejszym dla początkujących jest użycie na rozszerzeniu kątowe Obserwowane Chrome.

Powiązane problemy