- Nem lesz iPhone 19
- Lecsap az S26 Ultra az Exynos 2600-ra
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- 2.1-es Bose sztereó hangrendszer a Redmi K90 Pro Maxban
- Apple iPhone Air - almacsutka
- Samsung Galaxy A33 5G - a három az majdnem öt
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- OFFTOPIK: Earfun-lányok Sencsenben
- Bemutatkozott a Motorola vékonymobilja
-
Mobilarena
Új hozzászólás Aktív témák
-
pmonitor
aktív tag
válasz
Mechorganic #15287 üzenetére
Esetleg még azt lehet csinálni, hogy az egészet megírod C-ben/C++-ban. A sebességkritikus rész(ek) kódját megnézed, és ha találsz benne olyan részt, ahol szted lehet gyorsítani, akkor azokat megírhatod C-be/C++-ba ágyazott assemblyben. Macerás, de ha a gyorsaság számít, akkor talán ez a legegyszerűbb.
-
bambano
titán
válasz
Mechorganic #15287 üzenetére
szerintem a nem sebességkritikus részeket meg lehet írni c-ben, a sebességkritikusokat meg c-be ágyazott assembly-ben. pl. a kép beolvasását úgyis a diszk limitálja, felesleges asm-et erőltetni rá.
-
Livius
őstag
válasz
Mechorganic #15290 üzenetére
Az IO művelet nem gazdaságos, szerintem még asm-ben sem, ezért ez a koncepció hogy sokszor kell hozzányúlnod a fájlokhoz rossz stratégia. Lehet hogy tudsz vele tárhelyet vagy adatküldést spórolni, de CPU időt meg pont hogy pocsékolni fogod nagyon sokat.
-
kovisoft
őstag
válasz
Mechorganic #15287 üzenetére
Ha a sebesség számít, akkor lehet, hogy jobban jársz, ha C-ben írod meg a kódot, és rábízod az optimalizálást a fordítóra. A modern CPU-k bonyolult architektúrával rendelkeznek, kézzel nehéz olyan assembly kódot írni, ami gyorsabb kódot eredményezne annál, mint amit egy jó C compiler előállít sebességre optimalizált módban, mert ismerni kell, hogy mely utasítások milyen körülmények között tudnak párhuzamosan végrehajtódni, mikor mi mire vár, stb. Ha érdekel a téma, akkor ezen az oldalon találsz rengeteg infót az optimalizálással és a CPU architektúrákkal kapcsolatban.
-
Livius
őstag
válasz
Mechorganic #15287 üzenetére
Bármilyen .exe amit fordítasz egy mingw gcc-vel vagy akár a Visual studio-val console app-ként .bat fájlban használható, ehhez nem kell asm-ben írni. Én azt javaslom a standard C++-t válaszd erre, mondjuk Win XP-én a (Win 10-re is felmegy) Codeblocks ingyenes IDE-t felrakod a mingw-vel együtt és már fordíthatsz is bármilyen console-ban futó .exe-t. Ha még be is állítod a -Ofast optimalizációt, szerintem ugyan ott leszel sebességben mintha hozzáértően asm-ben csináltad volna.
Ezt a "képsorozat esetén a nem változó kép négyzeteket nem kell újra eltárolni" nem igazán értem, hogy ebben mi a lényeg. -
Livius
őstag
válasz
Mechorganic #15284 üzenetére
Ez most csak hobbi vagy valami konkrét cél is van ezzel?
2020-ban DOS-ba vagy Win XP-re ezt felejtsd már el. Millió másik sokkal modernebb program vagy script nyelv létezik erre, amiben 50-100 sorból minden kész van egyszerűen és még működik is a mai modern összes oprendszeren. Google-vel azért nem találsz semmit, mert ezt ma már senki sem használja, mert van fejlettebb szoftvertechnológia ilyenekre.
Ha csak simán standard C vagy C++-ban írnád Win XP-én mingw gcc-vel ugyan olyan gyors lenne 99%-ra mint amit most próbálsz egyáltalán nem hatékonyan megcsinálni asm-ben.
-
válasz
Mechorganic #15280 üzenetére
A több szál tök felesleges, ez 32 bites pixelekkel számolva is csak 128 MB, az a pár memcpy nagyjából előbb lefut, minthogy elindulna egy szál. Ami tart valameddig, az az IO, azon meg nem segít a többszálúság.
-
Livius
őstag
válasz
Mechorganic #15280 üzenetére
Miben kell ezt csinálnod? Mi az oprendszer mi a programozási nyelv? Az egészet ASM-ben írod?
Ha van elég RAM-od és mondjuk 1-nél több CPU-d akkor a legegyszerűbb az, amit a végén is írtál, hogy az egészet egyszerre betöltöd egy mátrixba, aztán minden egyes sorra amit akarsz egymástól függetlenül elvégezni, azokat egyszerre elindított (egy for ciklusban egymás után, igazából nem pont egyszerre fognak indulni) külön szálakban, azt vársz azok végére és mondjuk az eredmény mátrixot meg már nem párhuzamosítva, hanem szépen sorban felépíted ezek külön eredményeiből (ekkor már csak copyzol sorról sorra).
Ez amit szeretnél C, C++, C#-ban egyaránt Linuxon vagy Windowson egy szép megoldás és még egyszerű is. Tonna számmal vannak a neten az ilyenekre a megfelelő példa kódok.
-
válasz
Mechorganic #15256 üzenetére
Próbáltad több szálon megoldani? Ez a feladat elég jól párhuzamosíthatónak tűnik, illetve ha van elég ram, akkor az első beolvasást és az utolsó, teljes file lemezre írásán kívül elhagynám a lemezműveleteket. Beolvas, feldolgoz, összerak, kiír. Ebből a darabolás, meg utána a végső "fileba" (adatszerkezetbe) írás mehet párhuzamosan simán.
-
bambano
titán
válasz
Mechorganic #15256 üzenetére
ramdisken próbáltad?
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Nem lesz iPhone 19
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- Lecsap az S26 Ultra az Exynos 2600-ra
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- OTP Bank topic
- Anglia - élmények, tapasztalatok
- CASIO órák kedvelők topicja!
- További aktív témák...
- Lenovo ThinkPad dokkolók: USB-C 40A9/ 40AY/ 40AS/ Thunderbolt 3 40AC/ Hybrid USB-C DisplayLink 40AF
- Samsung Galaxy A16 / 4/128GB / Kártyafüggetlen / 12Hó Ganacia / BONTATLAN NULL Perces!
- Motorola Moto G32 / 8/256GB / Kártyafüggetlen / 12 Hó Garancia
- GYÖNYÖRŰ iPhone 13 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3579, 94% Akkumulátor
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő