Jump to content

Java kā pirmā valoda programmētājam?


Guest wersa
 Share

Recommended Posts

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. :p 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 - Vilx-
  • Patīk 1
Link to comment
Share on other sites

  • Replies 289
  • Created
  • Last Reply

Top Posters In This Topic

  • Vilx-

    55

  • binary

    38

  • Inspektors Caps

    38

  • JDat

    26

Top Posters In This Topic

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

Who fuckin' cares? Man šitā bija vieglāk uzrakstīt. :p

 

Plus, es tās multithreading jaunās fīčas neesmu izpētījis, jo ikdienā nesanāk lietot. :D

Link to comment
Share on other sites

Guest wersa

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

Labots - wersa
Link to comment
Share on other sites

Mezavecis

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

Guest wersa

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

 

 

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

  • 1 month later...
Inspektors Caps

Nu, kur visi palikuši? Kur ir lielie testi? :D 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

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 kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share


×
×
  • Izveidot jaunu...