eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingWhy mobile web apps are slow › Re: Why mobile web apps are slow
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: Edek <e...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: Why mobile web apps are slow
    Date: Thu, 11 Jul 2013 11:45:05 +0000 (UTC)
    Organization: ATMAN - ATM S.A.
    Lines: 76
    Message-ID: <krm5s1$pt2$1@node2.news.atman.pl>
    References: <7...@g...com>
    <9...@4...com>
    <krkska$dfu$1@mx1.internetia.pl>
    <e...@4...com>
    <0...@g...com>
    <krm3m2$9fq$1@mx1.internetia.pl>
    NNTP-Posting-Host: 159-205-130-95.adsl.inetia.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    X-Trace: node2.news.atman.pl 1373543105 26530 159.205.130.95 (11 Jul 2013 11:45:05
    GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Thu, 11 Jul 2013 11:45:05 +0000 (UTC)
    User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2)
    Xref: news-archive.icm.edu.pl pl.comp.programming:203980
    [ ukryj nagłówki ]

    Dnia pamiętnego Thu, 11 Jul 2013 12:57:15 +0200, Michoo wyjmując peta
    oznajmił:

    > On 11.07.2013 10:04, Maciej Sobczak wrote:
    >> W dniu czwartek, 11 lipca 2013 03:18:34 UTC+2 użytkownik A. L. napisał:

    >> Ilość klas nie ma kompletnie żadnego znaczenia. Uzgodnijmy więc, że
    >> masz ich 3 miliony, niech ten system wygląda jeszcze poważniej, nie
    >> wpływa to na dalsze rozważania.
    >
    > Obawiam się, że w javie wcześniej trafisz na którąś z 16-bitowych ścian ;)

    Jakich 16-bitowych ścian? Jedyne jakie znam są w formacie plików .class,
    ale tu nie może chodzić akurat o te.

    >>> Obiekty owych klas organizowane sa w struktury zwane "hypergraph".
    >>
    >> O, i to dopiero ma znaczenia. Nawet jeśli w programie jest tylko
    >> jedna klasa.
    >
    > Tylko nadal pozostaje pytanie (ok, w javie się tego nie da inaczej,
    > week-reference jest mało znane i upierdliwe w stosowaniu) jak wygląda
    > ownership i czas życia obiektów?

    Michoo, życzliwie: nie tygodniowa referencja, tylko słaba (weak).

    Weak-rwfs może używa się niezbyt często, ale owszem, dla uniknięcia
    memory leaków w Javie, najczęściej spowodowanych trzymaniem dużych
    chmur obiektów od gc root porzez albo niezwalnianą instancję lub
    statyczne pola klas, które nigdy nie przestają być potrzebne. Ja się
    spotkałem z tym, że najczęstsze dwa miejsca to monitoring, który
    trzyma weak-refs do obiektów będąc singletonem, i wszelkie formy
    stosów.

    > W przypadku bez GC zazwyczaj(oczywiście nie zawsze) na etapie tworzenia
    > struktury danych mamy jakąś mapę/listę/tablicę w której umieszczamy nowo
    > tworzone obiekty i z której je wyszukujemy tworząc kolejne krawędzie - w
    > takiej sytuacji czas życia może być powiązany z tą strukturą.
    >
    > GC oczywiście daje możliwość zwalniania obiektów w czasie, gdy wypadają
    > one z hipergrafu i jeżeli właśnie tego potrzebujemy, to jest to właśnie
    > owo specyficzne zastosowanie w którym przy braku GC musielibyśmy je i
    > tak napisać. Jeżeli natomiast nie potrzebujemy zwalniania obiektów w
    > czasie pracy algorytmu to GC jest tylko zbędnym kosztem.

    Dokładnie. W rpzypadku grafów najłatwiej jest użyć zwykłych tablic,
    które zwalania się po zakończeniu, albo trzymać bitowe maski użycia
    indeksu oraz stos najbliższej maski z wolnym indeksem. Robiliśmy
    takie rzeczy dla grafów zajmujących kilkadziesiąt czy kilkaset GB.

    Hipergraf różni się tylko dodatkowymi setami, co niczym nie odbiega
    od dołączonych do zwykłego grafu informacji dodatkowych pod względem
    samej struktury danych.

    >> Z punktu widzenia mainstreamu pytanie jest następujące: czy GC
    >> powinien być obowiązkowym elementem systemu, niezależnie od tego, co
    >> ten system robi.
    >
    > Tu odpowiedź jest bolesna - tak, bo na rynku brakuje dobrych
    > programistów i obawiam się, że spora grupa dostępnych nie poradzi sobie
    > bez GC.

    Czasami wystarcza odpowiedni framework i wzięcie programistów w kamasze
    mówiąc "macie robić tak i tak, zawsze i wszędzie". Z jakiegoś powodu
    programiści lubiący Javę nie lubią takich "ograniczeń wolności".

    > Natomiast cały czas uważam, że język który z jednej strony zabierał z
    > przed programisty konieczność zarządzania pamięcią ręcznie a z drugiej
    > strony wymuszał odpowiednie ustalenie własności obiektów na etapie
    > projektu byłby ciekawy.

    Jestem mocno zaciekawiony. Mógłbyś rozwinąć, chyba że ktoś czegoś takiego
    próbował i masz linka?

    --
    Edek

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: