-
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
Następne wpisy z tego wątku
- 11.07.13 17:17 A.L.
- 11.07.13 17:19 A.L.
- 11.07.13 17:52 bartekltg
- 11.07.13 18:20 Edek
- 11.07.13 18:41 firr
- 11.07.13 21:06 Edek
- 11.07.13 21:16 firr
- 11.07.13 21:24 Edek
- 11.07.13 21:31 firr
- 11.07.13 21:45 R.e.m.e.K
- 11.07.13 21:48 Edek
- 11.07.13 21:55 bartekltg
- 11.07.13 22:00 Edek
- 11.07.13 22:04 firr
- 11.07.13 22:06 firr
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer PIS
- 2025-02-19 Ogrodzenie dla krów szkockich "Highland"
- 2025-02-19 Gdańsk => System Architect (background deweloperski w Java) <=
- 2025-02-19 Gdańsk => Solution Architect (Java background) <=
- 2025-02-19 Białystok => Data Engineer (Tech Leader) <=
- 2025-02-19 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-19 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-19 Rzeszów => International Freight Forwarder <=
- 2025-02-19 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-19 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-02-19 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-19 Nigdy
- 2025-02-19 Katowice => Key Account Manager (ERP) <=