26

Odp: OPEN MP vs inne takie

Adam Klobukowski napisał/a:

Język dynamiczny ma szanse być wydajniejszy, ale tracing jit ma jedną wadę - wydajniejszy będzie dopiero po kilku przejściach kodu, co w niektórych zastosowaniach jest niezadowalające lub wręcz niedopuszczalne.

Słyszę takie gadanie od 10 ponad lat. Java miała być szybsza od c++ "już za dwa miesiące" i nic... Prosiłbym o jakieś konkretne przykłady na to, że kod napisany w pythonie[lub wstaw dowolny język] wykonuje się szybciej niż kod napisany w c++.

What can be asserted without proof can be dismissed without proof.

Odp: OPEN MP vs inne takie

Laoo: tylko że w C++ to są takie protezy i potworki składniowe że szkoda gadać hmm Krzywa trudności nauki stroma jak Mannerhorn wink

Atari: Falcon030 + CT60 + SuperVidel + SvEthlana + CTPCI, TT, 520ST + Pak030 + Frak + PuPla + Panther, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 520 ST+, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x  Portfolio (HPC-006)
MiST, 2 x RaspberryPI, HummingBoard, C64, Amiga: 500, 600, CDTV, Macintosh: IIsi, Performa 5200, Performa 630, HP 9000-300, HxC Floppy Emulator

28

Odp: OPEN MP vs inne takie

syscall napisał/a:

Moze mi ktos po krotce strescic o co sie klocicie? Bo serio nie wiem.

O to kto jest "najprofesjonalniejszym" zawodowcem na tym całym forum big_smile

PS. uważam, że osoby, które nie wypuściły na atari żadnego dema powinny mieć zakaz wypowiadania się w temacie programowania na cokolwiek smile

What can be asserted without proof can be dismissed without proof.

29

Odp: OPEN MP vs inne takie

Nikt nie każe Ci pisać bibliotek. W C++ można pisać prosto i wg mnie nawet łatwiej niż w C. Śmieszy mnie np co ostatnio przeczytałem, że Torvalds stwierdził, że goto w C jest dobre, oczywiście wywiązała się kłótnia, ale po wielu sporach okazało się, że w takim kernelu goto używają do czyszczenia w przypadku błędów (goto clean; itd), co w C++ dzieje się automatycznie dzięki wyjątkom i destrukcji obiektów przy zwijaniu stosu. Ot twardogłowość starych wyjadaczy...

laoo/ng

30

Odp: OPEN MP vs inne takie

sqward napisał/a:

...Prosiłbym o jakieś konkretne przykłady na to, że kod napisany w pythonie[lub wstaw dowolny język] wykonuje się szybciej niż kod napisany w c++...

Oj, oj...zgodnie z tezą "powiedz jaki ma być wynik a znajdziemy odpowiedni benchmark" zawsze można podać "właściwy" przykład.

Nie wstydzę się: 65XEN/1MB/4OS/AKI/1084ST/inne fajne zabawki

Odp: OPEN MP vs inne takie

Goto, jak każde narzędzie, może być użyteczne. No ale jest to ostre narzędzie dlatego młodym programistom mówi się żeby się nim nie bawili. Wyjątki w C++ też są fajne, lecz są jednym z głównych powodów dla których ciężko napisać w C++ jądro systemu operacyjnego (nie mówię że niemożliwe).

Sqward: tracing jit w V8 (engine JS w Chrome) powoli zbliża się do szybkości gcc, a nawet je przebija.

Atari: Falcon030 + CT60 + SuperVidel + SvEthlana + CTPCI, TT, 520ST + Pak030 + Frak + PuPla + Panther, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 520 ST+, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x  Portfolio (HPC-006)
MiST, 2 x RaspberryPI, HummingBoard, C64, Amiga: 500, 600, CDTV, Macintosh: IIsi, Performa 5200, Performa 630, HP 9000-300, HxC Floppy Emulator

32

Odp: OPEN MP vs inne takie

Adam: to samo słyszę o Javie od lat. Konkrety proszę smile

What can be asserted without proof can be dismissed without proof.

Odp: OPEN MP vs inne takie

Sqward: nie Java ale JavaScript.
http://wingolog.org/archives/2011/06/10 … r-than-gcc
http://wingolog.org/tags/v8

Atari: Falcon030 + CT60 + SuperVidel + SvEthlana + CTPCI, TT, 520ST + Pak030 + Frak + PuPla + Panther, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 520 ST+, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x  Portfolio (HPC-006)
MiST, 2 x RaspberryPI, HummingBoard, C64, Amiga: 500, 600, CDTV, Macintosh: IIsi, Performa 5200, Performa 630, HP 9000-300, HxC Floppy Emulator

34

Odp: OPEN MP vs inne takie

Na serio to jest ?

function g () { return 1; }
function f () {
  var ret = 0;
  for (var i = 1; i < 10000000; i++) {
    ret += g ();
  }
  return ret;
}

I benchmark na dodatek bierze pod uwagę czas kompilacji. Poproszę jakieś prawdziwe przykłady, prawdziwych aplikacji.

What can be asserted without proof can be dismissed without proof.

Odp: OPEN MP vs inne takie

No, jako że JS wymaga kompilacji, branie pod uwagę czasu kompilacji ma pewien sens. Benchmark może trochę syntetyczny wink ale poczytaj w drugim linku - gościu naprawdę mądrze pisze.

Atari: Falcon030 + CT60 + SuperVidel + SvEthlana + CTPCI, TT, 520ST + Pak030 + Frak + PuPla + Panther, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 520 ST+, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x  Portfolio (HPC-006)
MiST, 2 x RaspberryPI, HummingBoard, C64, Amiga: 500, 600, CDTV, Macintosh: IIsi, Performa 5200, Performa 630, HP 9000-300, HxC Floppy Emulator

36

Odp: OPEN MP vs inne takie

To może dzięki takiej technologii osiagniemy 120% mocy atari na atari ? big_smile

What can be asserted without proof can be dismissed without proof.

37

Odp: OPEN MP vs inne takie

co do mocy i to ciemnej strony mocy:

http://www.youtube.com/watch?v=xsymZCFz … re=related

dajcie sobie na luz

130xe+ca2001ttd/64c+1541/c64g+1541ii+sd2iec/C64Aldi+1541C/c128+1571+1541iicv+c128d+1581+1082/c16+dcp+cplus4+1551/c286lt/a500+a1010/a500v1.2+dtfdd/a600c+dsd/acdtv+extensions/a1200c+a1200t+CM8833-II/1040stfm+1040ste+HxC+SM124/cpc464/vic-20+c2n/lots of retro consoles

38

Odp: OPEN MP vs inne takie

sqward: http://morepypy.blogspot.com/2011/08/py … tring.html
btw. nie chodzi o "python szybszy niz c", a bardziej o pypy szybsze niz gcc. w obu przypadkach nie chodzi o jezyk, a konkretna implementacje...

Adam: js wymaga kompilacji? troche bluznisz...

ps. ztcp v8 nie ma tracingu (jak np. tracing monkey, czy luajit2, czy pypy) tylko cos w stylu statycznego aot. co to zmienia? raz przetranslowany kod nie jest juz profilowany/optymalizowany, wiec jesli z czasem jakas sciezka wykonania stanie sie mniej optymalna - kicha.
tak na prawde w tym jednym przypadku tracing moze okazac sie szybszy niz statycznie optymalizowany kod (jak np. w gcc)

Ostatnio edytowany przez jellonek (2012-01-18 02:08:28)

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

Odp: OPEN MP vs inne takie

jellonek: js nie wymaga kompilacji per se, ale wszystkie najszybsze implementacje to kompilatory jit.

Atari: Falcon030 + CT60 + SuperVidel + SvEthlana + CTPCI, TT, 520ST + Pak030 + Frak + PuPla + Panther, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 520 ST+, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x  Portfolio (HPC-006)
MiST, 2 x RaspberryPI, HummingBoard, C64, Amiga: 500, 600, CDTV, Macintosh: IIsi, Performa 5200, Performa 630, HP 9000-300, HxC Floppy Emulator

Odp: OPEN MP vs inne takie

Tak przy okazji: http://goldns.ru/cppmap-2012.png

Atari: Falcon030 + CT60 + SuperVidel + SvEthlana + CTPCI, TT, 520ST + Pak030 + Frak + PuPla + Panther, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 520 ST+, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x  Portfolio (HPC-006)
MiST, 2 x RaspberryPI, HummingBoard, C64, Amiga: 500, 600, CDTV, Macintosh: IIsi, Performa 5200, Performa 630, HP 9000-300, HxC Floppy Emulator

41

Odp: OPEN MP vs inne takie

sliczne!

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

42

Odp: OPEN MP vs inne takie

Się ktoś narobił....oj jak się narobił...jak pisząc program w C++ smile

Nie wstydzę się: 65XEN/1MB/4OS/AKI/1084ST/inne fajne zabawki

43

Odp: OPEN MP vs inne takie

Ms wypuścił speca C++AMP

laoo/ng

Odp: OPEN MP vs inne takie

Na pierwszy rzut oka nieźle skomplikowane.

Atari: Falcon030 + CT60 + SuperVidel + SvEthlana + CTPCI, TT, 520ST + Pak030 + Frak + PuPla + Panther, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 520 ST+, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x  Portfolio (HPC-006)
MiST, 2 x RaspberryPI, HummingBoard, C64, Amiga: 500, 600, CDTV, Macintosh: IIsi, Performa 5200, Performa 630, HP 9000-300, HxC Floppy Emulator

45

Odp: OPEN MP vs inne takie

Te wszystkie wrappery na dane mogą być onieśmielające, ale nie ma nic za darmo smile

laoo/ng

Odp: OPEN MP vs inne takie

Myślę sobie jakie to ma szanse się przyjąć. Myślę że niewielkie. Najbardziej, to w różnych aplikacjach (Photoshop, itp). W grach to się chyba nie przyda.

Atari: Falcon030 + CT60 + SuperVidel + SvEthlana + CTPCI, TT, 520ST + Pak030 + Frak + PuPla + Panther, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 520 ST+, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x  Portfolio (HPC-006)
MiST, 2 x RaspberryPI, HummingBoard, C64, Amiga: 500, 600, CDTV, Macintosh: IIsi, Performa 5200, Performa 630, HP 9000-300, HxC Floppy Emulator

47

Odp: OPEN MP vs inne takie

Idea jest taka, aby dać relatywnie proste w obsłudze i generyczne narzędzie do "masywnych" obliczeń, bez uciekania się do explicite heterogenicznych rozwiązań typu Cuda, OpenCL itd. Zapotrzebowanie jak widać jest, skoro wspomniane rozwiązania całkiem nieźle się rozwijają (np jakaś wersja gimpa używa chyba OpenCLa). C++AMP ma robić to samo, tylko bardziej kompaktowo, ukrywając tę heterogeniczność za parawanem runtime'u, tak, aby programista nie musiał zaprzątać sobie tym głowy. Rozwiązanie jest na tyle przyjazne, że w ramach prezentacji do jednego komputera włożyli jedną kartę nVidii i jedną ATI i program enumerujący akceleratory po prostu podzielił po równo obliczenia pomiędzy obie karty i to po prostu działało.

laoo/ng

Odp: OPEN MP vs inne takie

No właśnie o to mi chodzi: tam gdzie warto to ukryć (wszelkie pluginy do Gimpa czy Photoshopa) i w miarę łatwo to zrobić, tam się to nada. Do bardziej wymagających zastosowań (przede wszystkim gry) się to nie nada, bo tam potrzeba większej kontroli nad tym co się liczy, gdzie i kiedy.

Atari: Falcon030 + CT60 + SuperVidel + SvEthlana + CTPCI, TT, 520ST + Pak030 + Frak + PuPla + Panther, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 520 ST+, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x  Portfolio (HPC-006)
MiST, 2 x RaspberryPI, HummingBoard, C64, Amiga: 500, 600, CDTV, Macintosh: IIsi, Performa 5200, Performa 630, HP 9000-300, HxC Floppy Emulator

49

Odp: OPEN MP vs inne takie

W przypadku gier przeważającym wg mnie argumentem przeciw temu rozwiązaniu mogłyby być istniejące powiązania pomiędzy bibliotekami. W Direct3D DirectCompute jest w naturalny sposób wpleciony w resztę potoku renderującego i chociażby żeby nie pisać specjalnych mechanizmów dbających o synchronizację i spójność danych łatwiej jest przeprowadzać obliczenia tak samo jak resztę renderowania właśnie za jego pomocą. Wydaje mi się, że podobnie jest w przypadku komba OpenGL + OpenCL. Ale przypuszczam, że C++AMP może wyprzeć CUDĘ, której targetem są właśnie takie obliczenia niezależne od grafiki, co w C++AMP robi się bardziej wprost.

laoo/ng

Odp: OPEN MP vs inne takie

Z tym że gry zazwyczaj nie są aż tak wymagające obliczeniowo, pomijając grafikę 3D oczywiście. Zaś jak już do samej grafiki dochodzi, to wydaje mi się że tu każdy twórca gier wolałby mieć cała kartę graficzna tylko do tego, aby było jak najpłynniej.

Atari: Falcon030 + CT60 + SuperVidel + SvEthlana + CTPCI, TT, 520ST + Pak030 + Frak + PuPla + Panther, 520ST + 4MB ST RAM + 8MB TT RAM + CosmosEx + SC1435, 1040STFM + UltraSatan + SM124, 1040STE 4MB ST RAM + 8MB TT RAM + CosmosEx + NetUSBee + SM144 + SC1224, 520 ST+, 65XE + U1MB + VBXE + SIDE2, Jaguar, Lynx II, 2 x  Portfolio (HPC-006)
MiST, 2 x RaspberryPI, HummingBoard, C64, Amiga: 500, 600, CDTV, Macintosh: IIsi, Performa 5200, Performa 630, HP 9000-300, HxC Floppy Emulator