02. 02. 2006. | #11 |
Knowledge base
Wrote a book
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
|
Pa ja preferiram memoriju, manje ce drljati disk
__________________
Năo quero mais seguir um só caminho |
02. 02. 2006. | #12 | |
Knowledge base
Wrote a book
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
|
Citat:
__________________
Năo quero mais seguir um só caminho |
|
02. 02. 2006. | #13 | |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
|
Citat:
|
|
02. 02. 2006. | #14 |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Uvek moze da koristi memory tabelu tj:
engine = memory |
02. 02. 2006. | #15 |
Knowledge base
Wrote a book
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
|
Kad bi vi ovako teoretisali i o mom geotargeted postu, cccc
http://www.devprotalk.com/showthread.php?t=587
__________________
Năo quero mais seguir um só caminho |
02. 02. 2006. | #16 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
|
Default memory limit je 8M. Za niz treba 2 miliona po 8 bajtova, dakle oko 16 mega. Ostatak koda ne troši memoriju, tako da bi trebalo da ti...
PHP kôd:
// ali mu zato treba kila vremena ... stavio sam da se vrti za 200 000 i nikako da završi skriptu Poslednja izmena od noviKorisnik : 02. 02. 2006. u 01:41. |
02. 02. 2006. | #17 |
Knowledge base
Wrote a book
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
|
Kad bolje razmislim, ova moja verzija ima jednu manu, za svaki generisani broj se proverava ceo niz.. sto znacajno usporava..
Dok bi mysql verzija bila u prednosti, jer kad lupis insert, odmah znas jel insertovao ili nije (ako vec postoji u bazi), pa ce skript raditi brze Tako da.. bolje mySQL (idem da se pokrijem ushima)
__________________
Năo quero mais seguir um só caminho |
02. 02. 2006. | #18 |
Python Ambassador
Master
|
Sad sam upravo generisao vektor od 2.000.000 celih pseudo-slučajnih brojeva sa opsegom [0..2^32-1] pomoću ove linije koda u MATLAB-u:
Kôd:
brojevi = randint(1, 2e6, 2^32); Nešto sam malo kopao po MATLAB-ovom helpu ali nisam uspeo da nađem funkciju koja uklanja istovetne vrednosti iz vektora, tako da mogu da dam sledeći algoritam (mrzelo me da pišem kod) koji može biti prilično brži od vaših IMHO: 1. Pokrenemo MATLAB i u definišemo sledeće promenljive: broj_kodova (broj jedinstvenih kodova koje želimo da generišemo), multiplikator (generišemo s njim "rezervne kodove", uzmimo da je vrednost 2) i faktor_ubrzanja (ubrzava dolazak do rešenja tako što poništava efekat nejedinstvenih kodova - uzmimo za vrednost 2) 2. Izvršimo Kôd:
podaci = sprintf('%x\n', randint(1, broj_kodova*multiplikator, 2^32)); 3. Izvršimo sledeći kod: Kôd:
brojac = 1; delta = broj_kodova; 5. Uradimo bulk insert podaci(brojac:delta+brojac-1, :) kodova u bazu (MATLAB podržava da se bulk insert izvrši jednim pozivom insert() funkcije) 6. Učitamo novu vrednost promenljive broj_jedinstvenih_kodova 7. Kôd:
brojac = delta+brojac; delta = (broj_kodova - broj_jedinstvenih_kodova) * faktor_ubrzanja; 9. Iz view-a povadimo broj_kodova redova i to smestimo u neku tabelu/dump/neki-drugi-izvor-podataka. 10. Pokrenemo, protegnemo se, popijemo kaficu i gotovo ;) I have way too much free time on my hands :D
__________________
Python Ambassador of Serbia Poslednja izmena od Petar Marić : 02. 02. 2006. u 03:00. |
02. 02. 2006. | #19 | |
Super Moderator
Invented the damn thing
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
|
Citat:
MySQL tabela: Kôd:
create table kodovi ( kod char(8) not null, primary key (kod)) engine = memory; |
|
02. 02. 2006. | #20 |
Goran Pilipović
Sir Write-a-Lot
|
nego, da li neko moze da me podseti kako se tu racuna broj kombinacija. Znaci string od 8 karaktera, potencijalne vrednosti a...z i 0...9 (nema velikih slova) = 36 karaktera.
Da li je 8^36 ? 2.821.109.907.456 ? Sve sam zaboravio, a nekada sam imao poseban predmet matematicka verovatnoca Doduse, to je bilo pre 18 godina... (bolje da sam ćutao za godine)
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
random + mysql | mega023 | PHP | 9 | 09. 03. 2010. 17:08 |
random select na velikoj tabeli | kodi | SQL baze podataka - Sponzor: Baze-Podataka.net | 14 | 09. 04. 2008. 13:46 |
random koji favorizuje | kodi | Programiranje | 16 | 29. 04. 2007. 22:09 |
java.util.Random security | Ivan | Programiranje | 0 | 02. 01. 2007. 19:43 |
Random image - preraditi za flash... | headcutter | (X)HTML, JavaScript, DHTML, XML, CSS | 4 | 02. 09. 2005. 23:14 |