Jen tak na okraj, uz delsi dobu se daji psat multi-threadove aplikace i ve Visual Basicu, vsechno je uz zalezitost .NET Frameworku.
Musim potvrdit, ze se mi v nem taktez pise mnohem hur nez treba v C#, ale to sem uz spis nepatri.
Mam core 2 duo a jsem spokojeny, i pres vynalozene penize
Mam core 2 duo a jsem spokojeny, ale za ty penize to nestalo
Nemam core 2 duo, ale koupim si ho
Nemam core 2 duo a nechci ho
Jen tak na okraj, uz delsi dobu se daji psat multi-threadove aplikace i ve Visual Basicu, vsechno je uz zalezitost .NET Frameworku.
Musim potvrdit, ze se mi v nem taktez pise mnohem hur nez treba v C#, ale to sem uz spis nepatri.
Love 'murican gas-guzzlers...
Chevrolet Camaro '79, 5L V8
Chevrolet Tahoe '01, 5.3L V8
Chevrolet Camaro '01, 3.8L V6
chevroletcamaro.cz - Unleashed Fuel Only
A naco je to dobre? Ked to niekto spravi v tom VB.NET, tak to na tom dvojjadrovom C2D pojde pomalsie ako rovnaky program v C na Celerone 266.
1: Asus P2B 1.10 • Celeron 1100@1364/1.8V • 512MB SDRAM • Samsung SP1213N+WD AC28400 • Toshiba XM-6402B+SD-M1212 • PowerColor AR2L Radeon 9100 64MB • 3C900-Combo • Bt848A • ASB-3940UA • AWE-64 • DTK PTP-3007 • VisionMaster 405 • Umax UC630 • Star LC24-200 Colour 2: PCPartner TXB820DS • Cyrix MII PR300/1.8V • 256MB SDRAM • 2xSamsung HD400LD+IT8212F • Accesstek CW4001 • LS-120 • Mystique 4MB • Millennium II 4MB • 3C509 • CMI8329A+Dream MIDI • ADI ProVista E44 • SyncMaster 203B Notebook: DTK FortisPro TOP-5A • P166MMX/1.8V • 80MB EDO • Hitachi 5K80 40GB • 12,1" TFT Router: A-Trend ATC-1425B • i486DX 50@33/5V • 48MB FPM • WD AC14300 • UMC UM9003F • HP PC LAN 16/TP+ Car: Mazda 323P BA • Z5 1489ccm, 65kW@5500rpm, 134Nm@4000rpm
No ja netvrdil, ze to bude nejak rychleJen jsem branil vsemi (vcetne me) nenavideny VB
![]()
Love 'murican gas-guzzlers...
Chevrolet Camaro '79, 5L V8
Chevrolet Tahoe '01, 5.3L V8
Chevrolet Camaro '01, 3.8L V6
chevroletcamaro.cz - Unleashed Fuel Only
OT: to by som netvrdil, sice ano, urcite najdes taky specificky program, ale celkovo je .net dost rychly, navyse som niekde cital/pocul ze by sa mohli objavit procesory ktore by ciastocne podporovali .net mikrokod (nieco take chcel spravit aj sun s javou) a potom by ta rychlost mala byt omnoho lepsia
3570K, 16G, x25-m, itx
xj40
Zrovnavat .NET a C co sa rychlosti tyce sa naozaj neda. Mal som moznost to porovnavat a mozem povedat, že ak nejaku aplikaciu napisete v C, tak obvykle je x krat rychlejsia ako v pripade že by ste ju napisali v .NET. Ale zase na druhej strane kto pozna .NET aj C, tak vie že porovnavat tieto dve prostredia je dost od veci...každé je určene do ineho segmentu.
X2 6000+@3420Mhz(228x15)1.45V,BOX+Windtunnel,MSI K9A2 Platinium V2, 2x2GB A-DATA Vitesta 4-4-4-12, Gainward 4870 790/1063, Corsair 750W TXEU
Acer Travelmate 4102WLMi: Centrino 1.73Ghz, 1.25GB RAM, ATI X700, 120GB Samsung, Debian lenny
A pro to mas nejake podklady, nebo jsi to jen tak placnul? Vsechny benchmarky, ktere jsem videl, byly totiz zalozeny na mereni vykonu nejakych kratkych algoritmu. Jinymi slovy- prilis zjednodusujici. A v techto pripadechsi vedl .NET vesmes velmi dobre (dlouhodobe plati, ze prekladace virtualni stroje atd. od MS patri , na rozdil od vetsiny ostatnich produktu teto firmy, ke svetove spicce... staci srovnat o kolik je gcc v kvalite generovaneho kodu za Visual C). Pokud mas skutecne nejake konkretni vysledky tak by me hodne zajimaly. Co jsem nasel ja:
http://www.osnews.com/story.php/5602...File-IO/page3/
Vykon C# vyssi nez gcc c. Proc ne, kdyz jde jen o vypocetni algoritmus a objekty se temer nepouzivaji?
http://www.tommti-systems.de/go.html...enchmarks.html
Velmi zajimavy test. Meren je i maximalni memory footprint aplikace.
http://www.shudo.net/jit/perf/
Cast SciMark 2. Asi nejvice vypovidajici vec. C# 240 bodu, gcc 266 bodu (11% lepsi vysledek nez C#), Visual C 329 bodu (37% lepsi vysledek nez C#). To vse navic s poznamkou "C version is advantageous compared with Java and C# versions because Java and C# versions use a "synchronized" version of the random number generator, which makes the Monte Carlo Test much slower." Linpack taktez dava zajimave vysledky.
http://www.ddj.com/dept/cpp/184401976
Dalsi sada mikrobenchmarku. Vysledky zacinaji na druhe strane.
... a desitky dalsich podobnych...
Jaky je zaver? No at si ho kazdy udela samJa si ten svuj utvoril na zaklade mych vlastnich testu (pac je znamo, ze existujou tri druhy lzi- male, velke a benchmarky a take neverim statistikam, ktere jsem si nezfalsoval sam
) a pokusu, kde mi vyslo, ze C# ztraci za C++ zhruba o 30%. Pri urcovani platformy projektu to beru v uvahu a zamicham do toho zkraceni doby vyvoje v C# oproti C++ a cenu programatoro hodiny. Vetsinou mi to vyjde ve prospech C# maximalne s cca 5% aplikace (kriticka cast) napsanymi v C.
Naposledy upravil miho; 10.10.2006 v 15:16.
X2 6000+@3420Mhz(228x15)1.45V,BOX+Windtunnel,MSI K9A2 Platinium V2, 2x2GB A-DATA Vitesta 4-4-4-12, Gainward 4870 790/1063, Corsair 750W TXEU
Acer Travelmate 4102WLMi: Centrino 1.73Ghz, 1.25GB RAM, ATI X700, 120GB Samsung, Debian lenny
Proc citujes muj sahodlouhy prispevek jen abys dolu napsal jednu vetu, ktera byla v mem prispevku navic zminena?
Moje testy byly zalozeny na realnych aplikacich, ktere jsem potreboval vytvorit takze vypovidaly o realnem nasazeni vsechno
Vytvoreni a ruseni objektu ma v .NET vyssi rezii. To je pravda. Ovsem algoritmus, kde se to projevi (tzn. kde se vytvari tak mnoho objektu, ze rezie jejich vytvareni prekroci "spotrebu" zbytku algoritmu) je s nejvetsi pravdepodobnosti proste spatne navrzen. V .NET (a jave) je pak treba pouzit napr. object pool nebo jinou techniku aby se nadmernemu vytvareni objektu zabranilo. Jsou tam jeste dalsi zadrhele jako napr. zpracovani vyjimek, ktere je v .net citelne pomalejsi. Tohle vsechno se ale vejde do tech 30%, ktere jsem zminil vyse.
... ale mam pocit, ze jsme tady uz docela OT.
To uz tak nejak ze zvyku ked idem na niekoho reagovat tak hned kliknem quote, proste blby zvyk.Proc citujes muj sahodlouhy prispevek jen abys dolu napsal jednu vetu, ktera byla v mem prispevku navic zminena?
Kde v prispevku si napisal to co ja?? Praveze si pekne zhrnul jak je .NET len o malo pomalsi (coz neni tak) viz. posledny tvoj odstavec.
Ano rezia je pomalsia ale hlavny dovod proc aplikacie napisane pod .NET su ovela pomalsie neni len kvoli tejto rezii (ta je naopak zanedbatelná). Pomalost NETu je spusobena hlavne principami programovania.Vytvoreni a ruseni objektu ma v .NET vyssi rezii. To je pravda. Ovsem algoritmus, kde se to projevi (tzn. kde se vytvari tak mnoho objektu, ze rezie jejich vytvareni prekroci "spotrebu" zbytku algoritmu) je s nejvetsi pravdepodobnosti proste spatne navrzen. V .NET (a jave) je pak treba pouzit napr. object pool nebo jinou techniku aby se nadmernemu vytvareni objektu zabranilo. Jsou tam jeste dalsi zadrhele jako napr. zpracovani vyjimek, ktere je v .net citelne pomalejsi. Tohle vsechno se ale vejde do tech 30%, ktere jsem zminil vyse.
Napríklad string :
Azda všetky bežne client aplikacie vo velkom používajú stringy. Ako iste vies, v .NET su stringy relativne velke objekty ktorych vytvorenie tvori dosť náročných funkcii. Takisto sú tam funkcie ktoré často ani programator v aplikacii nevyužije (len zaberaju sys. prostr.). V C je string obycajny datovy typ (napr. pole charov) ktorý nezaberá ani z daleka toľko sys. prostr. ako jeho ekvivalent v NET (proste v pameti zabera len tolko kolko je treba, jeden znak sa da uložiť do 1 bajtu takže string zaberá minimum). Je sice o niečo pracnejšie pracovat stymto stringom, programator si musí vela vecí písať sám ale to je daň za výkon a efektivitu.
Tým som chcel len povedať kde je ten hlavný dovod, preco je .NET pomalsi. Uviedol som ako príklad sice len string ale ked sa pozres na triedy ktoré .NET obsahuje tak hned vieš prečo je NET pomalší.
A nemusia to byt len zakladne triedy typu string, int, staci sa pozriet aj na GUI triedy, na WIndows.Forms. V porovnani napriklad s MFC ktore použijem v C++ nemaju WindowsForms šancu čo sa týče rychlost
EDIT:
Jo a compilator obsiahnuty v MS produktoch je made by Intel a nie MS.dlouhodobe plati, ze prekladace virtualni stroje atd. od MS patri , na rozdil od vetsiny ostatnich produktu teto firmy, ke svetove spicce... staci srovnat o kolik je gcc v kvalite generovaneho kodu za Visual C
Naposledy upravil pYr0; 10.10.2006 v 19:34.
X2 6000+@3420Mhz(228x15)1.45V,BOX+Windtunnel,MSI K9A2 Platinium V2, 2x2GB A-DATA Vitesta 4-4-4-12, Gainward 4870 790/1063, Corsair 750W TXEU
Acer Travelmate 4102WLMi: Centrino 1.73Ghz, 1.25GB RAM, ATI X700, 120GB Samsung, Debian lenny
Blby priklad:
http://www.ddj.com/showArticle.jhtml...chlegel&pgno=8
Neni pravda. String je velmi jednoduchy immutable objekt, ktery ma v datove casti krome samotneho retezce navic pouze delku a pocet odkazu.
Predne- v OOP rikame metody. Kdyz prilinkujes stdlib.h tak si tim nabalis take stovky funkci, ktere nikdy nepouzijes.
Tohle si v dnesni dobe mysli uz jen malokdo a kazdy, kdo si to mysli, se drive nebo pozdeji dostane do znacnych problemu a/nebo pise jen male programky pro vlastni potrebu.
int v .NET neni objektem, chova se stejne jako v C.
Pravda, GUI je pomalejsi. Rozsil ale neni nijak velky a navic to neni kriticka cast aplikace takze to je irelevantni.
Scimark je pomerne velka aplikace. A vysledky viz vyse. Moje aplikace, na kterych jsem testoval, taktez k uplne prtavym nepatrily. Tezko ale urcit nejakou metriku podle ktere se urcuje "velkost aplikace"![]()
Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)