-
141. Data: 2017-08-29 18:46:55
Temat: Re: Co jest nie tak z C++ (było: Rust)
Od: slawek <f...@f...com>
On Tue, 29 Aug 2017 06:26:44 -0700 (PDT), g...@g...com
wrote:
> A jak by takie coś wyglądało w Javie albo C++?
> Ja sobie wyobrażam mniej więcej coś takiego [...]
Można lepiej: nie używać funkcji pow(), tylko mnożenia; tylko dwie
pętle po x i y, natomiast z obliczyć; do obliczeń użyć algorytmu
liczenia pierwiastka kwadratowego na liczbach całkowitych lub jeżeli
szybciej FPU. To się nawet da zwektoryzować i/lub rozbić na wątki
(pętla po x), ale nie przesadzajmy.
I tu jest cały myk: czy Haskell domyśli się że jest O(N**2) czy
będzie forsowała O(N**3), a może cudownie zejdzie po analizie reszty
kodu do O(1) dzięki lazy evaluation?
-
142. Data: 2017-08-29 20:26:35
Temat: Re: Co jest nie tak z C++ (było: Rust)
Od: "M.M." <m...@g...com>
On Tuesday, August 29, 2017 at 6:46:59 PM UTC+2, slawek wrote:
> On Tue, 29 Aug 2017 06:26:44 -0700 (PDT), g...@g...com
> I tu jest cały myk: czy Haskell domyśli się że jest O(N**2) czy
> będzie forsowała O(N**3), a może cudownie zejdzie po analizie reszty
> kodu do O(1) dzięki lazy evaluation?
Dobre pytanie.
Pozdrawiam
-
143. Data: 2017-08-30 00:46:23
Temat: Re: Co jest nie tak z C++ (było: Rust)
Od: "AK" <n...@n...net>
Użytkownik "Adam M" <a...@m...com> napisał:
> Przyklad kolegi w typ przypadku jest nie na miejscu - w czasie zaczynania
aptymalizacji kodu ale
> emulatora
> nie bylo wiadomo czy 80286 bedzie dostepny (a dodatkowo z dalaczonym 80287 - w
tamtych czasach
> duzo
> PC AT nie mialo dokladanego 20287 bo kosztowal extra - > dodakowo byly ograniczenia
COCOM na
> sprzedaz do demoludow).
> W tym przypadku optymalizazja byla uzasadniona - jak to mowi przyslowie (niestety
po angielsku) -
> hindsight is always 20/20.
Nie. Nie byla. Przyspieszenie nowego/zoptymalizowanego emulatora bylo rzedu kilku
procent w
stoosunku do dostarczanych
z kompilatorami (TC i MS C).
..a o COCOMie nie ucz Ojca dzieci...
> Na problem nad-optymalizacji C++ cierpia glownie programisci starszego pokolenia
Nieprawda, Jest dokladnie odwrotnie.
My starzy dobrzre wiemy ze prawdziwy handicap daje algorytm.
Top Wy mlodzi swiecie wierzycie w sprzet/procesor.paiec
My (a przynajmniej ja) starzy, rozwiazujac skomplikowana numeryke na takiej
Odrze1325 z 32kBslow dobrze wiedzielismy ze nie ma co liczyc na sprzet ale na
rozwiazanai/algorytmy/pomysly.
To Wy jestescie obciazenie GHz i GB
> Ale zobaczysz :) Sam jestem ciekaw.
> Podstaw Pythona nauczysz sie w godzine.
> Tak - wszyscy tak bardzo kochaja Pythona - zycze wielu skucesow w napisaniu
> wielowatkowego programu w Pythonie (a dokladnie w CPythonie - najpopularniejszej
wersji) bez
> odwolywania sie do magicznych sztuczek. Python jest bardzo fajnym jezykiem do
prototypowania
> i szybkiej roboty - ale bez przesady - napisanie duzego systemu w Pythonie to
> czysty masochizm.
Powiedz to Googlowi, Facebookowi (Tornado: https://pypi.python.org/pypi/tornado/).
No dobra. Niech beda polskie firmy. Powiedz to Onetowi i WP (i jeszcze O2) ktorych np
obsluga poczty jest napisana w Pythonie.
Jednym z najszybszych serwerow ftp to tez Python.
W sensie/swiecie multitaskingu nie wszytsko watkami stoi, a nawet GIL (gdy ktos sie
zna i umie)
nie jest tez nieprzekraczalna bariera, a ostatnio asyncio (w rozmnych odmianach -
nastepca i
kontynuator
Twisted-a) wymiata.
W dodatku wielo(mikro)watkowo pisze sie tak jak sekwencyjnie a nie
callbackowo/zdarzeniowo
jak w innych jezykach/technologiach.
PS: Masz dokladnie 0-we pojecie o Pythonie. Errata. No nie., Jakies tam maasz - "z
prasy" :)
AK
-
144. Data: 2017-08-30 00:49:29
Temat: Re: Co jest nie tak z C++ (było: Rust)
Od: "AK" <n...@n...net>
Użytkownik "M.M." <m...@g...com> napisał:
> W latach 90tych było inaczej. Kompilatory nie dość że kompilatory generowały
> kiepski kod, to jeszcze nie umiały malutkich funkcji wstawiać inline.
> Wszelkie próby napisać kodu przyjaznego dla kompilatora kończyły się
>totalną sieczką z punktu programisty czytającego ten kod.
...kolejne mity...
Bylo_dokladnie_ odwrotnie.
To prosty zwykly kod byl przyjazniejszy dla kompilatora/optymalizatora.
AK
-
145. Data: 2017-08-30 08:00:24
Temat: Re: Co jest nie tak z C++ (było: Rust)
Od: "M.M." <m...@g...com>
On Wednesday, August 30, 2017 at 12:50:38 AM UTC+2, AK wrote:
> Użytkownik "M.M." <m...@g...com> napisał:
>
> > W latach 90tych było inaczej. Kompilatory nie dość że kompilatory generowały
> > kiepski kod, to jeszcze nie umiały malutkich funkcji wstawiać inline.
> > Wszelkie próby napisać kodu przyjaznego dla kompilatora kończyły się
> >totalną sieczką z punktu programisty czytającego ten kod.
>
> ...kolejne mity...
> Bylo_dokladnie_ odwrotnie.
> To prosty zwykly kod byl przyjazniejszy dla kompilatora/optymalizatora.
Żadne mity tylko dziesiątki albo nawet setki pomiarów czasów.
Do czasów borlnad C++ w wersji około 5.0 - 6.0 (32bity) ja mam rację,
potem Ty. GCC i G++ był wtedy jeszcze gorszy. W VC++ było podobnie,
dopiero gdzieś od wersji 6.0 generował akceptowalny kod.
Pozdrawiam
-
146. Data: 2017-08-30 10:46:57
Temat: Re: Co jest nie tak z C++ (było: Rust)
Od: Szyk Cech <s...@o...pl>
> Powiedz to Onetowi i WP (i jeszcze
> O2) ktorych np
> obsluga poczty jest napisana w Pythonie.
Ciekawe skąd ten pomysł?!? Ja parę lat temu osobiście byłem na
przesłuchaniu w sprawie pracy w wp.pl i tam powiedzieli mi, że szukają
gości do pisania w C demona rozproszonego na Linuxy do obsługi poczty.
Parę lat minęło, więc chyba już go skończyli... Z Onetem to nie wiem,
ale jeśli chodzi o o2.pl to połączyło się parę lat temu z wp.pl. Ale czy
to oznacza, że teraz działa na tym co wp.pl - tego nie wiem...
-
147. Data: 2017-08-30 15:32:57
Temat: Re: Co jest nie tak z C++ (było: Rust)
Od: "M.M." <m...@g...com>
On Wednesday, August 30, 2017 at 12:50:38 AM UTC+2, AK wrote:
> Użytkownik "M.M." <m...@g...com> napisał:
>
> > W latach 90tych było inaczej. Kompilatory nie dość że kompilatory generowały
> > kiepski kod, to jeszcze nie umiały malutkich funkcji wstawiać inline.
> > Wszelkie próby napisać kodu przyjaznego dla kompilatora kończyły się
> >totalną sieczką z punktu programisty czytającego ten kod.
>
> ...kolejne mity...
> Bylo_dokladnie_ odwrotnie.
> To prosty zwykly kod byl przyjazniejszy dla kompilatora/optymalizatora.
>
Nigdy tego nie zauważyłem. Natomiast często widziałem, żę
w starszych kompilatorach wystarczyło zamiast funkcji użyć
makra i już kod był wyraźnie o parę procent szybszy. O
zamianie operacji na tablicy na operacje wskaźnikach nie
wspomnę - zresztą, dziś też widać co się dzieje, gdy się
zrobi te same operacje na wektorze, iteratorach i wskaźnikach.
Pozdrawiam
-
148. Data: 2017-08-30 15:35:49
Temat: Re: Co jest nie tak z C++ (było: Rust)
Od: Adam M <a...@m...com>
On Wednesday, August 30, 2017 at 2:00:25 AM UTC-4, M.M. wrote:
> On Wednesday, August 30, 2017 at 12:50:38 AM UTC+2, AK wrote:
> > Użytkownik "M.M." <m...@g...com> napisał:
> >
> > > W latach 90tych było inaczej. Kompilatory nie dość że kompilatory generowały
> > > kiepski kod, to jeszcze nie umiały malutkich funkcji wstawiać inline.
> > > Wszelkie próby napisać kodu przyjaznego dla kompilatora kończyły się
> > >totalną sieczką z punktu programisty czytającego ten kod.
> >
> > ...kolejne mity...
> > Bylo_dokladnie_ odwrotnie.
> > To prosty zwykly kod byl przyjazniejszy dla kompilatora/optymalizatora.
>
> Żadne mity tylko dziesiątki albo nawet setki pomiarów czasów.
> Do czasów borlnad C++ w wersji około 5.0 - 6.0 (32bity) ja mam rację,
> potem Ty. GCC i G++ był wtedy jeszcze gorszy. W VC++ było podobnie,
> dopiero gdzieś od wersji 6.0 generował akceptowalny kod.
>
> Pozdrawiam
w 100% zgadzam się z przedpiszcą - zwlaszcza Bornland byl wtedy marnej jakosci (ale
był względnie tani), dodakowo linker Borlanda byl szybki ale wiązał wszysko co mu
podeszło - zadnej optymalizaji (library pruning). Z tego okresu miło wspominam Watcom
C++ i SAS C++, a co do compilatorow C to TopSpeed C i Aztec C.
-
149. Data: 2017-08-30 16:09:02
Temat: Re: Co jest nie tak z C++ (było: Rust)
Od: Adam M <a...@m...com>
On Tuesday, August 29, 2017 at 6:47:32 PM UTC-4, AK wrote:
>
> > Przyklad kolegi w typ przypadku jest nie na miejscu - w czasie zaczynania
aptymalizacji kodu ale
> > emulatora
> > nie bylo wiadomo czy 80286 bedzie dostepny (a dodatkowo z dalaczonym 80287 - w
tamtych czasach
> > duzo
> > PC AT nie mialo dokladanego 20287 bo kosztowal extra - > dodakowo byly
ograniczenia COCOM na
> > sprzedaz do demoludow).
> > W tym przypadku optymalizazja byla uzasadniona - jak to mowi przyslowie (niestety
po angielsku) -
> > hindsight is always 20/20.
>
> Nie. Nie byla. Przyspieszenie nowego/zoptymalizowanego emulatora bylo rzedu kilku
procent w
> stoosunku do dostarczanych
> z kompilatorami (TC i MS C).
> ..a o COCOMie nie ucz Ojca dzieci...
No nie wiem - moze te pre procent przyspieszenia bylo potrzebne - moze nie - wszystko
zalezy od potrzeb - czlowiek jest zawsze madrzejszy po fakcie.
>
> > Na problem nad-optymalizacji C++ cierpia glownie programisci starszego pokolenia
>
> Nieprawda, Jest dokladnie odwrotnie.
> My starzy dobrzre wiemy ze prawdziwy handicap daje algorytm.
> Top Wy mlodzi swiecie wierzycie w sprzet/procesor.paiec
> My (a przynajmniej ja) starzy, rozwiazujac skomplikowana numeryke na takiej
> Odrze1325 z 32kBslow dobrze wiedzielismy ze nie ma co liczyc na sprzet ale na
> rozwiazanai/algorytmy/pomysly.
> To Wy jestescie obciazenie GHz i GB
Milo mi slyszec że naleze do tzw młodego pokolenia bo komputerami zajmuje się od 1982
;-).
Osobiscie nie mialem doczynienia z Odra (chociaz koledzy chwalili sobie ten system)
and pracowalem na MERA-300 i MERA-60 a pozniej na PDP-11, HP2000 i HP3000.
A co do obciazenia GHz i GB to programuje systemy czasu rzeczywistego (MCU i DSP) na
ktorych RAM mierzy sie KB (czasami 64KB RAM to wszysto) i wiekszosc procesorow jest
jedno-rdzeniowa (lub ma dodatkowe co-porocesory wymagajace spcjalizowanego
programowania w assemblerze) a predkosc mierzy sie w MHz - czasami 200MHz to juz
bardzo szybko.
Dodaktowo wymaganiem jest wysoka niezawodnosc oprogramowania - polecam poczytac MISRA
C i MISRA C++ standard.
>
> > Ale zobaczysz :) Sam jestem ciekaw.
> > Podstaw Pythona nauczysz sie w godzine.
>
> > Tak - wszyscy tak bardzo kochaja Pythona - zycze wielu skucesow w napisaniu
> > wielowatkowego programu w Pythonie (a dokladnie w CPythonie - najpopularniejszej
wersji) bez
> > odwolywania sie do magicznych sztuczek. Python jest bardzo fajnym jezykiem do
prototypowania
> > i szybkiej roboty - ale bez przesady - napisanie duzego systemu w Pythonie to
> > czysty masochizm.
>
> Powiedz to Googlowi, Facebookowi (Tornado: https://pypi.python.org/pypi/tornado/).
Nie wiem jak inni ale wydawalo mi sie ze Facebook uzywa wlasnego , wysoko
zoptymalizowanego PHP.
> No dobra. Niech beda polskie firmy. Powiedz to Onetowi i WP (i jeszcze O2) ktorych
np
> obsluga poczty jest napisana w Pythonie.
> Jednym z najszybszych serwerow ftp to tez Python.
> W sensie/swiecie multitaskingu nie wszytsko watkami stoi, a nawet GIL (gdy ktos sie
zna i umie)
> nie jest tez nieprzekraczalna bariera, a ostatnio asyncio (w rozmnych odmianach -
nastepca i
> kontynuator
> Twisted-a) wymiata.
> W dodatku wielo(mikro)watkowo pisze sie tak jak sekwencyjnie a nie
callbackowo/zdarzeniowo
> jak w innych jezykach/technologiach.
>
> PS: Masz dokladnie 0-we pojecie o Pythonie. Errata. No nie., Jakies tam maasz - "z
prasy" :)
>
Skoro ten Python jest taki dobry do wszystkiego i taki szybki to dlaczego nie
uswiadczysz go na MCU/DSP albo nawet na wiekszosci SOC (i prosze nie wyciągac mi tu
Raspberry Pi - nikt zdrowy na umysle i traktujacy swoich klientow powaznie nie uzyje
RPi do zastosowan profesjonalnych - dodatkowo jako test proponuje napisac program w
Pythonie na RPi obslugujacy 8 do 16 portow szeregowch z predkoscia transmisji 1.5MB
na kazdym porcie i praktycznie ciaglym naplywem danych - a nastepnie powtorzyc to
cwiczenie w C++ lub C)
> AK
-
150. Data: 2017-08-30 16:30:45
Temat: Re: Co jest nie tak z C++ (było: Rust)
Od: slawek <f...@f...com>
On Wed, 30 Aug 2017 07:09:02 -0700 (PDT), Adam M
<a...@m...com> wrote:
> Skoro ten Python jest taki dobry do wszystkiego
> i taki szybki to dlaczego nie uswiadczysz go na
> MCU/DSP albo nawet na wiekszosci SOC
Przy 1kB SRAM to raczej nie doradzałbym Pythona.
Ale ludzie dziwne rzeczy robią. Np. używają Delphi do pisania dla
MCU.


do góry
Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei