Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :)

VB6
  • 69 odgovora
  • 13.722 pregleda

Najnovija ↓

Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 16.04.2008. u 17:36 · pre 226 meseci #22
Nema nikakav poseban naziv. Rad gotovo svih programa zavisi od nekog .dll-a (i framework je skup .dll-ova), samo su neki isporuceni uz windows a neki ne (uz win2k3 imas... 1.1 u osnovnoj verziji u R2 imas 2.0, uz Vistu imas valjda Fr.3.0, uz Server2k8 3.5).
I calc.exe zavisi od .dll-ova :)
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 16.04.2008. u 17:49 · pre 226 meseci #23
Jeste al svi dll-ovi ga ne usporavaju podjednako :)
Sistemski dll-ovi kernel32 user itd moraju da se koriste za IO i GDI isl. ali ove framowork dll su jedan lejer iznad toga (napravljen sa ciljem da olaksa rad programerima jer prirodni windows interface je tezak po danasnjim standardima :) )
U praksi sam se sto puta uverio da su programi koji koriste framework redovno sporije odradjuju istu stvar od onih drugih.
Potpis
HomePage http://www.eurora3d.com
Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 16.04.2008. u 17:59 · pre 226 meseci #24
Kao na primer? :)

Inace, jeste jedan layer vise, kao sto je i COM jedan layer vise preko win32 api-a, a vb6 je COM jezik.

Edit: ne kazem da .net programi nisu sporiji, samo sam pitao za primer :)
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 16.04.2008. u 20:27 · pre 226 meseci #28
Evo napravio sam jedan (po rezultatima koje sam dobio rekao bi glup :) ) test brzine izvrsavanja iste operacije u raznim programskim jezicima (nisam javu i net).
VC++ je kompajlovan u debug verziji zato sto release daje neverovatan rezultat (da je sve uradjeno za 0 ms) a i rezultat VB6 mi je sumljiv. ASM i FreeBasic su sa realnim rezultatima.
Sta vi mislite o ovim (ocigledno) optimalizacijama ? Jer nekako mi je nemoguce da je VB6 ovde najbrzi :)
Potpis
HomePage http://www.eurora3d.com
Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 16.04.2008. u 21:02 · pre 226 meseci
izmenjeno 1 put, poslednji put stefanpn 16.04.2008. u 22:02
  1. stefanpn16.04.2008. u 22:02zapis iz teksta poruke
#29
Nekako mi ovakav test nije merodavan...

Nebojsini rezultati/Moji rezultati
Code:

ASM 9766             5628
VC++ 8703            6309
VB 6672              3155
FB 11140             6719


Uzmite u obzir da imam sporiju masinu od njegove, tako da mi nije jasno zasto je kod mene ovakav rezultat...

A i kad se stavi da broje od 1 do 1 000 000, Fb i VC++ daju rezultat od 10ms, dok VB6 kaska sa 209ms u interpretatoru dok kad se kompajlira pokazuje 0ms sto je nemoguce, jer je u while petlji i treba da odradi sabiranje, oduzimanje, komparaciju i skok, a samo komparacija zahteva 24 procesorska takta, + sabiranje i oduzimanje po 8, doduse tu su koprocesori i kojekakva cuda unutra ali ne moze 0ms...

EDIT: VB.NET 5768,2944ms
Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 16.04.2008. u 21:05 · pre 226 meseci #30
Jesu i ti susreti gde je .net bio spor ovakvi :]
Ne bih znao sta je uzrok ovakvih rezultata. Ako ti nesto znaci, kod mene je:
asm - 3125
fb - 2781
vb - 1750
vc - 2635
Inace cpu ima 7-8% zauzece bez tih programa, svi su radili na jednom (istom) jezgru.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 16.04.2008. u 21:44 · pre 226 meseci #31
vb.net:
Code:

Module Module1

    Sub Main()
        Dim no As Integer
        Dim lno As Integer
        Dim StartTime As DateTime
        Dim MyTime As TimeSpan
        no = 0
        MsgBox("merenje pocinje")
        StartTime = Now
        While no < 1000000000
            no += 1
            lno = 1000000000 - no
        End While
        MyTime = Now - StartTime
        MsgBox("trajalo je " & MyTime.TotalMilliseconds & "ms")
    End Sub

End Module


Izvrsni fajl u attachment-u, potreban framework 2.0
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 16.04.2008. u 22:11 · pre 226 meseci #33
Da, i meni je vb.net davao najbrze rezultate - 1300ms +-50ak
Sad, posto je ova tema vec vb6 vs vb.net, necu propustiti da napomenem da je multithreading u vb.net-u mnogo jednostavniji pa bi se za tek nesto malo vece vreme (max par procenata) ovo moglo n puta izvrsiti na cpu sa n jezgara (prva stvar koju sam probao kada sam kupio c2d :)).
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 16.04.2008. u 23:02 · pre 226 meseci #34
Nije vase merenje merodavno :)..

Zasto C++ fajl kompajlirate u Debug varijanti (citaj: napunite djubretom), pa merite.. Nije jadan VC++ kriv sto pri Buildu u Release modu kompajler vrsi optimizaciju (Maximize Speed) i sto to neverovatno dobro radi ;).

Zato se verovatno isplati pisati u C++-u, umesto u asembleru, jer dobar C++ kompajler zapravo pokusava da razume vas kod..


Just my 2 cents..
Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 16.04.2008. u 23:03 · pre 226 meseci #35
Zao mi sto moram da vam spustim loptu, ali poredjenja su vam totalno bezveze, ne poredite source-native optimizaciju koda, poredite koliko je u stvari inteligentan kompajler u optimizaciji koda.

Ako pogledate, lo i lno se ne koriste nigde posle petlje niti njihovo racunanje ima sekundarne posledice, samim tim "inteligentni" kompajler slobodno moze da izbaci te dve operacije iz petlje, a jos inteligentniji kompajler moze da izbaci i samu petlju da se ne bi vrteo u prazno ;)

Tako da vas kod u najoptimalnijem slucaju izgleda ovako:

Code:

        MsgBox("merenje pocinje")
        StartTime = Now
        MyTime = Now - StartTime
        MsgBox("trajalo je " & MyTime.TotalMilliseconds & "ms")


;) I posle se pitate sto release verzije daje 0ms ;)

Ako hocete "realne" rezultate, sve jezike morate da pustate u release modu, i morate da iskoristite lno posle merenja, da ga optimizacija ne bi izbacila.

Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 16.04.2008. u 23:15 · pre 226 meseci #36
Pa, u sustini poredjenje je bez veze kako god okrenes. Em sto ovi programski jezici i nisu namenjeni da pravis brojace, em sama brzina izvrsavanja nije jedino sto je bitno kod programskog jezika i razvojnog okruzenja.
Probao sam i sa koriscenjem promenljive nakon loop-a, isti je rezultat - 1300+-20ms
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 16.04.2008. u 23:28 · pre 226 meseci #37
Nema veze, kompajler ce prepoznati koja je vrednost promenljivih posle izvrsavanja.. Cilj je iskoristiti instance promenljivih unutar loop-a, a ne koristiti njenu konacnu vrednost.


Evo napisite ovo u VB, pa cemo da vidimo krajnji rezultat (ovde petlja ne moze da se izbegne, iako svakako kompajler optimizira ovo, tako da se vrtimo u krug):

Code:
#include "windows.h"

struct LCVOR{
                   char inf;
                   int kljuc;
                   LCVOR *sledeci;
};

void umetni(LCVOR *novi,LCVOR **lista)
{
    if(*lista==NULL){
        novi->sledeci=NULL;
        *lista=novi;}
    else 
        umetni(novi,&(*lista)->sledeci);
}

void brisi_listu(LCVOR **lista){
    if(*lista!=NULL){
        brisi_listu(&(*lista)->sledeci);
        delete *lista;
        *lista=NULL;
    }
}

LCVOR *lista;

void UciniNestoZaSvojuSavjest(int n){
     LCVOR *tekuci = new LCVOR;
     tekuci->inf = n;
     umetni(tekuci, &lista);     
     
}

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
     long count1 ,count2, count;
    char* res = new char[256];

    MessageBox(GetActiveWindow(),"Merenje pocinje","VCTest",MB_OK);

    count1=GetTickCount(); //pocetak 
    long no = 0;
    long lno = 0;

        while( no<10000){
            no++;
            lno = 10000 - no;
            UciniNestoZaSvojuSavjest(no);
        }

    count2 = GetTickCount(); //kraj
    count=count2-count1;

    wsprintf(res,"%lu",count);

    char* txt = new char[256];
    lstrcpy(txt,"Izvrsavanje je trajalo " );
    lstrcat(txt,res);
    lstrcat(txt," milisekundi");
    MessageBox(GetActiveWindow(), txt ,"VCTest",MB_OK);
    brisi_listu(&lista);
    return 0;
}



Bez optimizacije: 4000+ ms
Sa optimizacijom: ~2000ms
Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 17.04.2008. u 02:14 · pre 226 meseci #38
@Burgos upavu si za optimalizacije ... tamo je i napisano da su zbog toga takvi rezultati , da je test los i bukvalan (al je bio jednostavan algoritam za prevodjenje u vise jezika)
Evo da ne budemo nepravedni prema c++ stavili smo ih na svoje mesto :)
Dodao sam fn koja popunjava mali buffer od 1000 bajtova 100000 puta.
Brzine ocekivane ... ASM,c++,FB pa VB6 (daleko iza)
Potpis
HomePage http://www.eurora3d.com
Re: vb6 vs. vb.net vs. ostali, testiranje, offtopic, etc :) 17.04.2008. u 13:22 · pre 226 meseci #40
Veceras, samo da se setim, zauzet sada.
Mada, kao sto rekoh, nije brzina izvrsavanja sve sto je bitno ;)
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme