Megoldotta, hogy melyik nyelvet válassza a Fejlesztési és programozási fórum

Navigáció

Kutatási kapcsolatok

Hirdetés

Ubuntu DVD-k, USB-meghajtók és pólók elérhető a Free Sale üzletben

nyelvet

Ha problémái adódnak a kapcsolatban maradással, válassza le a négyzetet, majd csatlakozzon újra ehhez a linkhez
Automatikusan jelentkezzen be a következő látogatásaim során.

  • itthon
  • "Fórum
  • »Fejlesztés és programozás
  • " [Megoldva] Melyik nyelvet válassza ?

# 1 2009.04.27-én, 14: 13-kor

[Megoldva] Melyik nyelvet válassza ?

Jelenleg szakmai gyakorlaton vagyok (6 hónapig), és egy kis apróság kódolására késztetnek (el kell felejteni az ékezeteket, nem tudom betenni a német billentyűzetemmel!).

Az alkalmazásomnak egy jó nagy (3-4 GB nagyságrendű) 3D képet kell szegmentálnia, majd statisztikai feldolgozást kell végeznie, és ki kell értékelnie a kép Minkowski-funkcióit. Ezután N mintát kell kivonni a jó nagy képből, és ugyanazt kell átdolgozni, azaz (stat` + Minkowski feldolgozás).

Ezután képesnek kell lennem különféle számítások indítására több processzoron keresztül.

És mi van a nyelvvel? C ++, Fortran vagy Python/Fortran ?

Az igazat megvallva van olyan számom, mint a C ++ és a Fortran, gyorsabban megy, vagy az ITK-t használom (ami korántsem kötelezõ, mivel fekete-fehéren "egyszerû" küszöböt szeretnék elérni). Félek a pythonikus memóriakezeléstől is (mintha félnék, ha a memóriában 1235x-es 3 GB-os fájlom lenne! Még akkor is, ha a gép 16 GB RAM-mal rendelkezik, gyorsan megsérülhet)

Köszönöm, hogy kedvesen megvilágítottad ilyen sötét lámpámat (ebben a témában nem vagyok informatikus!)

Utoljára szerkesztette Swaraj (2009. 05. 12., 10:58)

# 2 2009.04.27-én 14: 20-kor

Re: [Megoldva] Melyik nyelvet válassza ?

Általában, amikor képfeldolgozást végzünk, akkor inkább a C-t használjuk.
Az objektum programozása sok memóriát igényel az imperatív programozáshoz képest .
Az objektum minden példánya átírja a módszereket a memóriába, egy funkció egyetlen egyszeri írása ellenében

Általában a képeken hajlamosak vagyunk eléggé csökkenteni a feldolgozott adatok méretét, a gyakran alkalmazott megoldás az, hogy pixelenként 256 színre váltunk, és ezért ezeket inkább egy char-ra, mint egy int-re kódoljuk. Végül sok memóriát spórol meg.

[szerkesztés] Mea Culpa, tetszik a nagyon helyesen rámutatott térbeli manó, elengedhetetlenül és nem funkcionálisan kell olvasni. Szégyellem és zavart vagyok ez a kifejezéscsere [/ szerkesztés]

Utoljára szerkesztette tar_NeFyS (2009. április 28., 00:23)

# 3 2009.04.27., 14: 41-kor

Re: [Megoldva] Melyik nyelvet válassza ?

Ha jól értem, akkor a C-ben először a memóriába hívom a képemet, majd olyan funkciókkal hajtom végre a feldolgozást, amelyek paraméterekre mutatnak a képre?

És megtehetem az mm dolgot a FORTRAN-ban vagy a Python + FORTRAN-ban (amiben rosszul érzem magam) ?

a gyakran használt megoldás az, hogy pixelenként 256 színre vált, és ezért ezeket inkább egy char-ra, mint egy int-re kódoljuk

Valamit változtat a végrehajtás sebességén ?

# 4 2009.04.27., 15:19

Re: [Megoldva] Melyik nyelvet válassza ?

Az objektum minden példánya átírja a memóriában lévő módszereket, a függvény egyetlen egyszeri írása ellen

Ez valóban nagyon gyorsan elmondható, szeretném tudni, mire alapozod ezt mondani. Amúgy sem egy jó fordítón. Nem azért, mert a kódolási szinten a metódusok és a mezők be vannak zárva, ezért a kód megismétlődik a fordítás során.

Másodszor, a C nem funkcionális nyelv. Támogatja a strukturált imperatív programozást, nem a funkcionális programozást. A LISP, az OCaml és a Haskell példák a funkcionális programozást támogató nyelvekre.

És mi van a nyelvvel? C ++, Fortran vagy Python/Fortran ?

Nyilvánvaló, hogy teljesítményproblémái lesznek, ezért kerülje az értelmezett nyelvet: a magam részéről nem tanácsolom a Python használatát. A Fortran, a C vagy a C ++ alkalmas lehet: ezt C ++ nyelven tenném, de mindenekelőtt azt a nyelvet használom, amelyet legjobban tudsz.

Az űr manó

Utolsó szerkesztés: Le Farfadet Spatial (2009. április 27., 15:20)

# 5 2009.04.27-én 15: 52-kor

Re: [Megoldva] Melyik nyelvet válassza ?

Amúgy sem egy jó fordítón. Nem azért, mert a kódolási szinten a metódusok és a mezők be vannak zárva, ezért a kód megismétlődik a fordítás során.

Mondanál egy példát egy jó fordítóra a C ++ és/vagy a Fortran számára? Egyébként csak arra az esetre, betölthetem-e a képet a főprogramba, és használhatok-e a képre mutató objektumattribútumokat ?

És még egy utolsó tipp: használhatom az ITK-t (C ++ sablonok könyvtárát) a FORTRAN kóddal ?

Bevallom, hirtelen haboztam a C ++ és a Fortran között !

# 6 2009.04.27-én, 20: 26-kor

Re: [Megoldva] Melyik nyelvet válassza ?

Valójában a többprocesszoros gép architektúrájától és a memóriakezeléstől függ: a processzorok között megosztott memória vagy sem.
a többprocesszoros gépeken használt nyelvek gyakran MP-vel/PVM-mel vagy FORTRAN-könyvtárakkal és néha ada.

"- Egy ülő értelmiségi kevésbé megy, mint egy járó bunkó."
Maurice Biraud - Taxi a Tobruk számára
Michel Audiard

# 7 2009.04.27-én, 22: 14-kor

Re: [Megoldva] Melyik nyelvet válassza ?

Mondhat egy példát egy jó fordítóra a C ++ és/vagy a Fortran számára ?

A Gcc nagyszerű a C ++ számára (a G ++ -on keresztül használható). A Fortran esetében azt tapasztaltam, hogy a G95 akkoriban elég jól sikerült. Ennek ellenére a Fortran esetében azt kell mondanom, hogy hajlamos vagyok a gépgyártó által biztosított fordítót használni. Az IBM architektúráján nagyon értékeltem az Xlf-t. Az Intel architektúráján az Ifort nagyon ajánlott.

a többprocesszoros gépeken használt nyelvek gyakran MP-vel/PVM-mel vagy FORTRAN-könyvtárakkal és néha ada.

Ez az én tapasztalatom is. Ugyanakkor megtehet olyan dolgokat, amelyek jól teljesítenek a C ++ nyelven. Az egyetlen dolog, hogy a C ++ - nak sokkal tovább kell tanulnia.

Egyébként csak arra az esetre, betölthetem-e a képet a főprogramba, és használhatok-e a képre mutató objektumattribútumokat ?