eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingAutomatic Reference CountingRe: Automatic Reference Counting
  • X-Received: by 10.31.142.14 with SMTP id q14mr127333vkd.19.1503216872264; Sun, 20 Aug
    2017 01:14:32 -0700 (PDT)
    X-Received: by 10.31.142.14 with SMTP id q14mr127333vkd.19.1503216872264; Sun, 20 Aug
    2017 01:14:32 -0700 (PDT)
    Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder
    .usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews
    .com!nntp.giganews.com!m81no1567707itb.0!news-out.google.com!i9ni21928qte.0!nnt
    p.google.com!t37no63454qtg.1!postnews.google.com!glegroupsg2000goo.googlegroups
    .com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Sun, 20 Aug 2017 01:14:31 -0700 (PDT)
    In-Reply-To: <1...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=5.172.255.72;
    posting-account=Sb6m8goAAABbWsBL7gouk3bfLsuxwMgN
    NNTP-Posting-Host: 5.172.255.72
    References: <omqmm6$vvs$1@node2.news.atman.pl>
    <7...@g...com>
    <omqrh3$4kl$1@node2.news.atman.pl>
    <e...@g...com>
    <omrm61$r61$1@node2.news.atman.pl> <on29at$ef8$1@node1.news.atman.pl>
    <b...@g...com>
    <on5v9c$12t$1@node1.news.atman.pl>
    <2...@g...com>
    <on6ch1$dr2$1@node1.news.atman.pl>
    <b...@g...com>
    <ona4uo$6tl$1@node2.news.atman.pl>
    <5...@g...com>
    <0...@g...com>
    <6...@g...com>
    <1...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <e...@g...com>
    Subject: Re: Automatic Reference Counting
    From: fir <p...@g...com>
    Injection-Date: Sun, 20 Aug 2017 08:14:32 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Lines: 116
    Xref: news-archive.icm.edu.pl pl.comp.programming:211198
    [ ukryj nagłówki ]

    W dniu niedziela, 20 sierpnia 2017 09:46:42 UTC+2 użytkownik fir napisał:
    > W dniu niedziela, 20 sierpnia 2017 02:46:36 UTC+2 użytkownik M.M. napisał:
    > > On Saturday, August 19, 2017 at 11:17:57 PM UTC+2, fir wrote:
    > > > gdy wydajnosc jest istotna to nawet zwykle wskazniki nie sa wskazane imo
    > > >
    > > > (kiedys mierzylem ile wolniejszy jest kod gdy dzialasz na tablicy
    > > > bedacej wynikiem malloka w stosunku do w pewlni statycznej - i na
    > > > malloku bylo auwazalnie 10-20% wolniej
    > > Kiedyś chyba też widziałem różnice, ale to był bardzo dawno temu. Teraz
    > > chyba tak się nie dzieje na nowych kompilatorach, na nowym sprzęcie i
    > > na nowych bibliotekach/systemach?
    > >
    >
    > raczej sie dzieje - trzebby zrobic konkretne testy bo mgliscie to pamietam ale
    ustalony (fixed) blok ramu byl szybszy niz ten ze wskaznika
    >
    > (mozliwe ze bez intelowskiego mechanizmu wirtualizacji pamieci bylby jeszcze
    szybszy ;c)
    >
    > tak czy owak sa to optymalizacyjne detala a dzis tak bardzo tym sie nie przejmuje
    >
    >
    > >
    > > > no ale niewazne moze to byla specyficzne sytuacje, podaje jako
    > > > anegdote, ostatnio az tak bardzo nie przejmuje sie wydajnoscią
    > > A ja jakoś ciągle mam z wydajnością problem. Wciąż szukam
    > > szybszych: komputerów, implementacji, algorytmów, opcji kompilatora...
    > > Może za trudne zadania liczę. Np. teraz się martwię, czy nie powinienem
    > > zamienić drzew czerwono czarnych, na b-drzewa. Może wyszukiwanie w
    > > b-drzewach byłoby na tyle szybkie, że nie trzeba robić sztuczki z
    > > sortowaniem? Czasami będę miał rozkład prawie równomierny i
    > > po posortowaniu będę mógł zastosować wyszukiwanie interpolacyjne.
    > > Liczy się przyspieszenie o każde 10%.
    > >
    >
    > szczerze mowiac to ja chyba nie wierze za bardzo w drzewa, nigdy tez zadnego nie
    uzywalem - raczej probowalbym robilbym cos na lekkich listach/tablicach - [ale
    ostatnio jak mowilem interesuje sie jedynie wybranymi tematami i bardziej chyba musze
    skupic sie na skonczeniu pierwszej wersji mojego asemblera x86 a nie wiem czy juz nie
    zaczalem sie meczyc :/ ]
    >
    > >
    > >
    > > > - nawet moge
    > > > powiedziec, kiedys stawialem chyba gdzies tu pytanie jak ktos
    > > > zrobilby trzymanie zawartosci edytora tekstowego w programie w c i
    > > > kombinowalem wtedy cos w kierunku trzymania listy litych kawalkow
    > > > ramu po powiedzmy okolo 500 kb kazdy - dzis
    > > > raczej chyba zrobilbym przynajmniej na poczatek do testu tak ze
    > > > kazda linijka w edytrze po prostu bylaby na odzielnym malloku
    > > > (realokowany w miare
    > > > edycji itd)
    > > Czasami każdy edytor potrafi się zaciąć, gdy niechcący klikniemy na
    > > pliku tekstowym o rozmiarze setek megabajtów lub o długich wierszach.
    > > Musisz odpowiedzieć sobie na pytanie, do czego taki edytor ma
    > > być używany. Nie ma jednego najlepszego rozwiązania do wszystkich
    > > danych, ale jest jedno najlepsze rozwiązanie do rozkładu prawdopodobieństwa
    > > tychże danych.
    > >
    > > Pozdrawiam

    odnosnie optymalizacji to moge jeszcze dodac cos bo widzialm gdzies tu jak zwykle te
    niemal bezdennie glupie klasyczne pseudodyskusje czy programista zoptymalizuje kod
    lepiej niz kompilator itd itd

    z tego jak ja to widze psrawa wyglada tak ze programista zoptymalizuje kod lepiej
    problem jest jednak w czym innym - dzis - z tego jak to mi sie jawi - kody sa
    memory-bound to nie asembler spowalnia kody tylko memory-bandwidth, innymi slowy
    problem jest w tym ze nawet 100-krotne zoptymalizowanie arytmetyki moze spowodowac na
    przyklad powiedzmy jedynie 1% przyspieszenia - Zupelnie inaczej bylo kiedys kiedy to
    memory bound nie bylo widoczne i wszystki liczylo sie predkoscią poszcegolnych
    instrukcji, w danej sytuacji przyspieszenie asemblera 100 razy dawalo przyspeszenie
    100 razy... dzisiaj (jeli wywalic takie funkcja jak sin sqrt pow exp div) kody sa
    glownie memory bound i dlatego przepisywania asma po prostu niewiele daje -
    jak robic optymalizacje tego memory bound? nie zajmowalem sie tym za duzo ale zdaje
    sie ze na przyklad unikanie malych zmiennych posrednich niewiele przyspiesza (na
    szczescie - bo rownoczesnie to zanczy ze mozna ich uywac tj uzywani ich niewiele
    spowalnia) .. przepisywanie arytmetyki
    jak wspomnialem w sumie sporo daje (mam tu na mysli przepisywanie i upraszcanie
    raczej na poziomie c a nie asma) ale i tak sprawa rozbija sie o memory bound (memory
    bound jest dzisiaj sciana i jesli mozesz zoptymalizowac asma to tylko DO tej sciany a
    nie poza nia - dlatego przepisywanie w asmie nie daje tak jak kiedys przyspieszen
    rzedu 10x 30x i dlateo wlasnie nie jest tak wazne jak kiedys) samego memory bound nie
    wiem jak przyspieszyc byc moze sie nie da - podstawowe moemory bound liczy sie po
    prostu wielkoscią inputu i wielkoscia outputu (w megabajtach) t co ew mogloby to
    przyspieszyc to jakies skomplikowane algorytmy selekcjonujace
    input i output -- ale to jest skomplikowane i zaciemnia algorytmy
    tak ze ja osobiscie o to zbytnie nie dbam
    jak zwykle na koniec warto wspomniec
    zapewne opencl bo GPU maja mamory bandwidth np 10 razy wiekszy niz procki tak ze jak
    ktos chce robic potezny flow przetwazania to pewnie powinien si etego nauczyc ;c

    (ogolnie to napisalem wyzej to co wiem na ten temat, sam ostatnio jednak zaczalem jak
    wspomnielem mniej interesowac sie optymalizacją - choc ciagle interesuje mnie
    rev-engeenereeng /disasembling, vide pisanie asemblera x86)

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: