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ć :/ Krzywa trudności nauki stroma jak Mannerhorn ;)

Atari: FireBee, (Falcon030 CT60e 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), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

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 :D

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 :)

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...

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.

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: FireBee, (Falcon030 CT60e 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), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

32

Odp: OPEN MP vs inne takie

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

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: FireBee, (Falcon030 CT60e 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), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

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 ;) ale poczytaj w drugim linku - gościu naprawdę mądrze pisze.

Atari: FireBee, (Falcon030 CT60e 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), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

36

Odp: OPEN MP vs inne takie

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

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=xsymZCFzuJY&feature=related

dajcie sobie na luz

gep/lamers^dial

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 01: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: FireBee, (Falcon030 CT60e 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), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

Odp: OPEN MP vs inne takie

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

Atari: FireBee, (Falcon030 CT60e 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), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

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++ :)

43

Odp: OPEN MP vs inne takie

Ms wypuścił speca C++AMP

Odp: OPEN MP vs inne takie

Na pierwszy rzut oka nieźle skomplikowane.

Atari: FireBee, (Falcon030 CT60e 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), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

45

Odp: OPEN MP vs inne takie

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

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: FireBee, (Falcon030 CT60e 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), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

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.

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: FireBee, (Falcon030 CT60e 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), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

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.

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: FireBee, (Falcon030 CT60e 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), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio