Vilx- Novembris 8, 2013 Share Novembris 8, 2013 (labots) OK, ColorCounter. Skaita krāsas visos .JPG failos norādītajā folderī. Tā kā mērķis ir mērīt, cik tas ātri notiek, tad skaitīšanas rezultāts netiek izvadīts. Izvada statistiku - cik faili sekundē, cik baiti sekundē (mēram nolasītos baitus no diska, nevis dekompresētos bitmapus), un cik bieži noticis GC. Lai būtu ātrāk, tiek izmantoti divi threadi - kamēr viens skaita krāsas, otrs lādē iekšā nākamo bildi. Bilžu ielādēšanai izmantoju to pašu GDI+, jo netaisos rakstīt pats savu JPEG dekoderi. Var arī redzēt, cik ilgi viens threads gaida uz otru. Var izmantot 3 dažādas metodes krāsu skaitīšanai, ar dažādu ātrdarbību. Uz mana datora no sākuma IO threads gaida uz skaitītāju, bet pēc tam paliek otrādi. Laikam sākumā gadās mazākas bildes, vai HDD kešs nostrādā, nezinu. RAM commit size turas pie 117MB, lai arī reizēm krītas. Tas diezgan saskan ar to, ka paralēli atmiņā ir vidēji 2 bitmapi + .NET overheads. GC vispār nenotiek. Kad programma ir "iesilusi" (un tikusi cauri iekešotajam HDD saturam, un nonākusi līdz manām 10mpix bildēm), tad vidējais ātrums ir 8.4 faili/sekundē; 20MiB/s. Man gan ir bezjēdzīgi jaudīgs dators - 8GB RAM (šobrīd tikai 3GB brīvi, jo laižu visādus rijīgus tūļus); Core i7 (4 kodoli ar HT); jaunākās paaudzes Kingston HyperX SSD. Būtu interesanti uzzināt, kādi ir skaitļi citiem cilvēkiem, un - cik labi var dabūt gatavu ar C++. Būs ar kārtu ātrāk, vai tomēr tikai nedaudz? Ja kāds grib sacensties, tad, lai būtu godīgi, lūdzu izmantot GDI+ attēla ielādei. Es zinu, ka, uzrakstot savu JPEG dekoderi, kurš visu attēlu netur atmiņā, bet tikai izskrien cauri un saskaita krāsas, varēs iegūt ar kārtu lielāku ātrdarbību. Tāpat arī droši vien alternatīvas JPEG bibliotēkas var būt ātrākas par GDI+. Pievienots: Ā, pēc pāris minūšu darba ir gan 4x gen0 GC notikuši. Tas nav daudz. Un ātrums (viņš mēra vidējo pār visu laiku) arī ceļas. Nu jau 24.5MiB/s, lai arī failu skaits samazinājies uz 7.5/s. Pievienots 2: Taisīts uz .NET 4.5, un kompilēts priekš x64. Ja ir 32-bitu OS, nestrādās. .NET varētu pietikt arī 4.0 (neesmu drošs), bet zemāks gan nederēs. Pamēģināju arī x86, bet tas uz mana datora strādāja vienu nieku lēnāk. Pieļauju, ka tāpēc, ka daudzviet izmantoju long (64-bit integer). Enīvei, tas norāda uz to, ka šai programmai ātrdarbība no bitiem mainās minimāli (jo ir ļoti maz pointeru izmantots). Labots Novembris 8, 2013 - Vilx- 1 Link to comment Share on other sites More sharing options...
bubu Novembris 8, 2013 Share Novembris 8, 2013 Kāpēc tu .net 4.5 izmanto manuālus Thread'us? Kur Task<T>? Kur await/async? Tās taču ir "the must have" fīčas no .net 4.5! Link to comment Share on other sites More sharing options...
Vilx- Novembris 8, 2013 Share Novembris 8, 2013 Who fuckin' cares? Man šitā bija vieglāk uzrakstīt. Plus, es tās multithreading jaunās fīčas neesmu izpētījis, jo ikdienā nesanāk lietot. Link to comment Share on other sites More sharing options...
serioussam909 Novembris 10, 2013 Share Novembris 10, 2013 Lūk ar ko jāsāk:http://www.sgscript.org/try Vecbiedra snake5 ražojums. Link to comment Share on other sites More sharing options...
Guest wersa Novembris 11, 2013 Share Novembris 11, 2013 (labots) Kas tā diskusijā par slikto/ labo, kvalitatīvo/ nekvalitatīvo programmētāju un naudu/ labumu? Darbā ir priekšniecība, kurai saimnieki liek pelnīt viņam naudiņas. Firmai ir pasūtījumi, klients prasa ārti, lēti, boss piekrīt un programmētājs taisa, kā sanāk. Jo ātrāk, jo krutāks priekšnieka acīs. Pareizi arī dara, nauda nesmird. Nauda ir galvenais visā dzīvē, nekas cits. Tikai vajag atzīties sev, ka tā ir patiesība. . Labots Novembris 11, 2013 - wersa Link to comment Share on other sites More sharing options...
Леший Novembris 11, 2013 Share Novembris 11, 2013 wersa, ar tādu loģiku, visiem ir jāstrādā par narkodileriem, jo tur tak tāda nauda :0 Link to comment Share on other sites More sharing options...
Mezavecis Novembris 11, 2013 Share Novembris 11, 2013 wersa, ir dažādi programmētāji. Ja vieniem galvenais kritērijs ir tikai, lai labi maksā, tad citiem ir arī svarīgs veicamais darbs, rezultāta kvalitāte un attīstības iespējas. Pēdējiem ir daudz lielākas iespējas virzīties pa karjeras kāpnēm, jo kapātājiem (darīt jebko par naudu) pietiek aizbāzt muti ar algas pielikumu un kapās tālāk kaut vienu un to pašu lietu n gadus. Link to comment Share on other sites More sharing options...
Guest wersa Novembris 11, 2013 Share Novembris 11, 2013 Attīstības un izaugsmes iespējas protams ir pats galvenais. Tomēr darbā kur nosaka standartu temps pāri visam, nepakļaujoties ir jāmaina darbavieta. Citādi tāpat atbrīvos no darba, šaubu nav. ļeščij. Cik tur mums to nariku, vairākums ir galīgi nabadzīgi . Link to comment Share on other sites More sharing options...
MarisO Novembris 11, 2013 Share Novembris 11, 2013 daudz vienkāršāk grūvijā ir rakstīt praktiskajā dzīvē nepieciešamās lietas! Domājams, MarisO (kuru man bij tas gods pazīt AFK) varētu to pašu piebilst par Closure jā, es tagad (parasti) kodēju Clojure. LISPīga sintakse, funkcionālais stils (real life) un dinamiskie tipi ir labas lietas. Link to comment Share on other sites More sharing options...
Inspektors Caps Decembris 15, 2013 Share Decembris 15, 2013 Nu, kur visi palikuši? Kur ir lielie testi? Apskatījos Vilx- izveidoto ColorCounter. Nākošnedēļ (cerams) kādā vakarā ar C un WinAPI uztaisīšu gandrīz 1:1 analogu, lai varam vismaz kaut ko patestēt. Būtu forši, ja kāds paņemtu un izdarītu to pašu arī vēl kādā valodā/vidē.. Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!