Zajímavá programátorská úloha - jak jste dobří? – Offtopic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Zajímavá programátorská úloha - jak jste dobří? – Offtopic – Fórum – Programujte.comZajímavá programátorská úloha - jak jste dobří? – Offtopic – Fórum – Programujte.com

 

Qwerty
~ Anonymní uživatel
15 příspěvků
6. 4. 2009   #1
-
0
-

Zadání zde:
http://3537.sk/programator.html

Pochlubte se, jak jste dopadli - výsledky a dosažené časy (i když samozřejmě záleží i na počítači, ale v tom nejsou takové rozdíly jako v agoritmech) :)

PS: Nekažte radost ostatním zveřejňováním návodů, postupů, algoritmů apod.

Nahlásit jako SPAM
IP: 85.207.157.–
arithmetic overflow
~ Anonymní uživatel
2 příspěvky
8. 4. 2009   #2
-
0
-

asi nic moc výsledek,
mně to trvalo 55sekund v Javě u tý větší DB

kolik vyšlo unikátů -
to číslo má několik tisíc (no míň než souborů :-) ) a končí mi 174 !

možná by to sem chtělo dát pro lepší porovnání / mimo HW / spustitelnej výsledek.

Nahlásit jako SPAM
IP: 85.71.152.–
Qwerty
~ Anonymní uživatel
15 příspěvků
8. 4. 2009   #3
-
0
-

Mě to udělalo něco málo pod 2 sekundy, pokud vstupní soubor je v cache (tedy spouštím program 2x po sobě) v C#/.NET u většího souboru. Bez přednačtení něco přes 2 sekundy. Našlo mi to 96312 unikátních souborů dle definice (tedy pokud je to správně). Spouštěno na Core2 2.4 GHz, ale program zatím běží jen v jednom vlákně, takže se používá jen jedno jádro. Vidím ještě dost možností optimalizace.

To arithmetic overflow :

Nahlásit jako SPAM
IP: 85.207.157.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
8. 4. 2009   #4
-
0
-

To Qwerty : ... poklona.
Měl jsem tam chybu, potvrzuji těch 96312.
já moc neoptimalizoval, a žere mě to skoro 100MB paměti.
Tak to bych se mel pokusit to stáhnout na 10 sekund. ":D"

Nahlásit jako SPAM
IP: 85.71.152.–
Qwerty
~ Anonymní uživatel
15 příspěvků
8. 4. 2009   #5
-
0
-

To Anonymní uživatel : Tak ve spotřebě paměti jsem na tom o dost hůře ... koukám, že si to vzalo cca 186 MB.

Nahlásit jako SPAM
IP: 85.207.157.–
velurex0
Stálý člen
9. 4. 2009   #6
-
0
-

Taky mi vyšlo 96312 a běželo 1.676s (včetně parsování souboru). Spotřeba RAM 64084 KB. Athlon 6000+.

Původně jsem to chtěl řešit na grafické kartě (nvidia cuda), ale vykašlal jsem se na to - aby se dosáhlo značného zvýšení výkonu oproti CPU, tak by se zřejmě muselo jednat náročnější výpočet.

Nahlásit jako SPAM
IP: 213.191.119.–
Qwerty
~ Anonymní uživatel
15 příspěvků
9. 4. 2009   #7
-
0
-

To velurex : Pěkné ... v čem to máš napsané a využíváš více jader procesoru?

Nahlásit jako SPAM
IP: 85.207.157.–
Frantisek Skuta
~ Anonymní uživatel
3 příspěvky
9. 4. 2009   #8
-
0
-

Podobne ako qwerty, robim to v C#/.NET, este som nedostal konecny vysledok, trapim sa s jednym algoritmom v algoritme ;) -> stale mam problem s nejakou tou nepredvidatelnou chybou :D Ale samotny algoritmus po tento pod vypocital cca 70,000 unikatnych zaznamov za cca 60ms. Parsovanie suboru trva 2 sekundy na Dualcore 2.1Ghz

Nahlásit jako SPAM
IP: 193.87.103.–
Frantisek Skuta
~ Anonymní uživatel
3 příspěvky
9. 4. 2009   #9
-
0
-

Anonymní uživatel napsal:
To Qwerty : ... poklona.
Měl jsem tam chybu, potvrzuji těch 96312.
já moc neoptimalizoval, a žere mě to skoro 100MB paměti.
Tak to bych se mel pokusit to stáhnout na 10 sekund. ":D"



Ak ti to trva nad 1 sekundu, urcite ten algoritmus nieje taky aky by mal byt. ;-) ja som este pred par dnami bol tam kde ty, snazil som sa svoj alg. zkracovat v case co to slo, ale nakoniec som zobral pero a papier, a do pol hodiny nacrtol peckovy alg. :)

Nahlásit jako SPAM
IP: 193.87.103.–
Frantisek Skuta
~ Anonymní uživatel
3 příspěvky
9. 4. 2009   #10
-
0
-

Dodatok: Robim to ako consolovu aplikaciu, tzn. ziadne prednacitanie suboru sa nekona.

Nahlásit jako SPAM
IP: 193.87.103.–
velurex0
Stálý člen
9. 4. 2009   #11
-
0
-

To Qwerty : C#. Jednoduchá jednovláknová aplikace. Nejsem si úplně jist, že u úlohy která běží třetinu vteřiny (ostatní je manipulace se souborem), se vyplatí obsluhovat vlákna. :)

Nahlásit jako SPAM
IP: 213.191.119.–
Qwerty
~ Anonymní uživatel
15 příspěvků
10. 4. 2009   #12
-
0
-

To velurex : Jistý si také nejsem, ale pokud je v kompu více procesorů (jader), tak by to možná smysl mít mohlo. Samozřejmě především z pohledu zpracování větších dat. Tamta data jsou jen ukázkové soubory a nikdo neříká, že ten program nebude zpracovávat i větší vstupní soubory. Bohužel už ani nikdo neříká, zda se vstupní data vejdou do RAM ... na čemž dosti závisí použitý algoritmus.

Nahlásit jako SPAM
IP: 85.207.157.–
velurex0
Stálý člen
10. 4. 2009   #13
-
0
-

To Qwerty : Ty máš pro ten algoritmus nějaké praktické využití nebo je to jen hraní?

Nahlásit jako SPAM
IP: 213.191.119.–
arithmetic overflow
~ Anonymní uživatel
2 příspěvky
10. 4. 2009   #14
-
0
-

To velurex : ja myslel, ze pro vsechny zucastnene to bylo mistni hrani a soupereni, a ty se ted ptas co si delal bo jak tomu mam rozumet?? :D Prece kdyz uz se necemu venuju tak je jen chvalyhodny to dotahnout do maxima, konce, nenechat skulinku, vyzdimat to, pokorit to az na kost, rozparat to, .... Nebo jdes nekam, nejakou stezkou po napr. zeleny barve, na ukazateli je 5km do cile, ..pak 300metru a ty se zastavis budes se nahle ptat - ma to nejaky ucel ze tam jdu jen na "podivanou", ten cas ktery tratim ted na tech 300 metrech :D....
A ted muze Querty pridat na tohle uz jen cimkoliv vyssim a nemas jak prebijet :D

to all: mam pomaly komp, jenom parsovani mi trva 7 sekund :(

Nahlásit jako SPAM
IP: 85.71.152.–
velurex0
Stálý člen
10. 4. 2009   #15
-
0
-

To arithmetic overflow : Nelze "to dotahnout do maxima, konce, nenechat skulinku, vyzdimat to, pokorit to az na kost, rozparat to, ...." neboť jak praví jeden ze zákonů programování "V každém programu je chyba a v každém programu je instrukce navíc". :) Pointa je dotáhnou to do uspokojivého stavu a mě třetina vteřiny připadá uspokojivá. :)
Ale jestli budete provokovat, vrátím se k původnímu plánu a nechám to počítat grafickou kartu a takovej fofr ještě neviděli. :)

Nahlásit jako SPAM
IP: 213.191.119.–
Safo0
Newbie
12. 4. 2009   #16
-
0
-

Kolko vam naslo unikatnych suborov v tom mensom subore?
Mne naslo 851 a tak by som si to chcel naskor overit ci je to spravne, kym sa pustim do toho velkeho suboru.
Pri velkom subore mi totiz nestaci pamet pri parsovani suboru (cez Scanner) ktoru ma java vyhradenu tak to budem musiet nejak poriesit. :D

Nahlásit jako SPAM
IP: 78.98.23.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 37 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý