Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Ima li mozda .NJET neki turbo switch ?

[es] :: Advocacy :: Ima li mozda .NJET neki turbo switch ?

Strane: 1 2

[ Pregleda: 6247 | Odgovora: 26 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
218.1.28.*

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: Ima li mozda .NJET neki turbo switch ?26.11.2007. u 03:57 - pre 198 meseci
Evo ga još jedan... Da te nije lično pogodilo? :)
Pošto već pozivaš na argumentaciju, ajde ti lepo sad obrazloži moj blam,
ja nisam taj koji je pisao invalidan C++ kod, samo sam mu se smejao.
JAVAšluk je to čisti, ja da ti kažem...
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.adsl-4.sezampro.yu.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Ima li mozda .NJET neki turbo switch ?26.11.2007. u 09:15 - pre 198 meseci
Nije me licno pogodilo.
Zasto bih argumentovao? Draze mi je da se mucis...
JaFreelancer.com
 
Odgovor na temu

Časlav Ilić
Braunšvajg, Nemačka

Član broj: 4945
Poruke: 565
*.pool.mediaWays.net.



+27 Profil

icon Re: Ima li mozda .NJET neki turbo switch ?26.11.2007. u 09:32 - pre 198 meseci
Ima li neki poseban razlog zašto se meri množenje 100×100 matrica? Mene bi više interesovalo upoređenje na množenju, recimo, 2053×2053 matrica.

U tom slučaju, što se C-kôda tiče, prepraviti stvaranje matrica tako da se sigurno rezerviše neprekidan blok memorije:
Code:
int **mkmatrix(int rows, int cols) {
    int i, j, count = 1;
    int **m = (int **) malloc(rows * sizeof(int *));
    int *d = (int *) malloc(rows * cols * sizeof(int));
    for (i=0; i<rows; i++) {
        m[i] = d + i * cols;
    }
    return(m);
}

void freematrix(int rows, int **m) {
    free(*m);
    free(m);
}

a u jezgru petlji izvrnuti redosled dve unutrašnje radi izbegavanja skokova preko vrsta:
Code:
int **mmult(int rows, int cols, int **m1, int **m2, int **m3) {
    int i, j, k;
    zeromatrix(rows, cols, m3);
    for (i=0; i<rows; i++) {
        for (k=0; k<cols; k++) {
            for (j=0; j<cols; j ++) {
                m3[i][j] += m1[i][k] * m2[k][j];
            }
        }
    }
    return(m3);
}

 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
218.1.28.*

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: Ima li mozda .NJET neki turbo switch ?26.11.2007. u 09:45 - pre 198 meseci
Citat:
VRider: Nije me licno pogodilo.
Zasto bih argumentovao? Draze mi je da se mucis... :)

Zašto? Zato što se ničim izazvan nalaziš prozvanim, dakle radi sujeta...
Tvoj istomišljenik je izneo par misli u kojima dokazuje da ne zna o čemu priča
i ja sam mu lepo savetovao da se ne blamira, tvoj problem što se to odnosi i
na tebe.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16683
*.dip.t-dialin.net.



+7169 Profil

icon Re: Ima li mozda .NJET neki turbo switch ?26.11.2007. u 10:44 - pre 198 meseci
Elem, kod mene se cela stvar izvrsava za 32 sec (VS 2008, Intel Quad Core na 3 GHz, Vista x64)

Medjutim, iz znatizelje sam promenio redosled pristupa matrici:

Code:

    public static void mmult(int rows, int cols, int[,] m1, int[,] m2,
            int[,] m3)
        {
            for (int i = 0; i < rows; i++)
            {
                for (int j = 0; j < cols; j++)
                {
                    int val = 0;
                    for (int k = 0; k < cols; k++)
                    {
                        val += m1[k,i] * m2[j,k];
                    }
                    m3[j,i] = val;
                }
            }
        }


Sada se kod izvrsava za 26 sekundi... kako je matrica kvadratna nema razlike, ali ocigledno ima razlike u nacinu na koji su smestene matrice u C# i njihovom pristupanju u primeru :)

Javu na zalost nemam (niti imam nameru da instaliram ;-) pa da izmerim koliko se to kod mene izvrsava u Javi.

Kao sto rekoh - da je ovde ocigledno problem nacin na koji je alocirana memorija za matrice u C# portu i nacin na koji joj se pristupa u ovom primeru... blagog pojma nemam o C#-u pa ne bih to da komentarisem, ali nesto mi govori da je to moguce izvesti na bolji nacin :-)

@edit - Caslav je napisao kako se to radi u C-u, na tako nesto sam ciljao i u C# ali kako ne poznajem taj jezik bolje da neko strucniji to napise :)
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

zika.pavlovic

Član broj: 157069
*.kimsufi.com.



Profil

icon Re: Ima li mozda .NJET neki turbo switch ?29.11.2007. u 22:29 - pre 198 meseci
before benchmarking watch out for MS EULA^^

http://msdn2.microsoft.com/en-us/library/ms973265.aspx
http://www.microsoft.com/about/legal/useterms/default.aspx
cheers!
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16683
*.dip.t-dialin.net.



+7169 Profil

icon Re: Ima li mozda .NJET neki turbo switch ?29.11.2007. u 22:59 - pre 198 meseci
Vazi za MS proizvode i za zemlje gde EULA znaci nesto ;-)

U Nemackoj EULA nema zakonsku bitnost - a Dejan je svoj "benchmark" dobio uz pomoc Mono-a koliko sam shvatio, tako da i nije koristio MS softver ;-)

DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

[es] :: Advocacy :: Ima li mozda .NJET neki turbo switch ?

Strane: 1 2

[ Pregleda: 6247 | Odgovora: 26 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.