marrtins Posted November 14, 2008 Report Posted November 14, 2008 codez, pamēramies ar krāniem. Cik ātri tavs variants atrod atbildes 18`000 IP adresēm? IP list: http://paste.php.lv/8417?lang=text
marrtins Posted November 14, 2008 Report Posted November 14, 2008 starp citu vairants ja valstīm apgabali tiek pieškirti x.y.0.0 Tā nav!
codez Posted November 14, 2008 Author Report Posted November 14, 2008 Cik ātri tavs variants atrod atbildes 18`000 IP adresēm? Vienkārši ciklā atkārtojot to kveriju visas 18000 adreses nolasīja 215 sekundēs. Palaižot otreiz vajadzēja 2 sekundes (mysql query cache)
marrtins Posted November 14, 2008 Report Posted November 14, 2008 Vienkārši ciklā atkārtojot to kveriju visas 18000 adreses nolasīja 215 sekundēs.Palaižot otreiz vajadzēja 2 sekundes (mysql query cache) Query cache var neminēt :) Mans variants ~0.5sec
marrtins Posted November 14, 2008 Report Posted November 14, 2008 protams, nē. ar sql`iem neko prātīgu nesanāca uzkruķīt, tāpēc uztaisīju php extensionu.
codez Posted November 14, 2008 Author Report Posted November 14, 2008 C++ drošvien? Dati glabājas failā, binārā koka izskatā?
marrtins Posted November 14, 2008 Report Posted November 14, 2008 C, dati (IP adreses) ir vnk sakārtotas secībā, izmantots binary search
codez Posted November 14, 2008 Author Report Posted November 14, 2008 Respect, profesionāli. Man ar vienam nākotnes projektam vajag vienu efektīvu fīču kā PHP ekstenšanu, jo mysql nav tādas datu struktūras kā vajag, bet tur nedaudz lielākas čakars. Uzdevums ir tāds, ka ir kartē punkti, ap miljards. Katram punktam ir sava vērtība. Izvēlās kādu kartes skatu ar diognāli(x1,y1,x2,y2) un jāatrod N (ap 50) punkti ar lielākajām vērtībām.
marrtins Posted November 14, 2008 Report Posted November 14, 2008 Man ar vienam nākotnes projektam vajag vienu efektīvu fīču kā PHP ekstenšanu, jo mysql nav tādas datu struktūras kā vajag, bet tur nedaudz lielākas čakars. Uzdevums ir tāds, ka ir kartē punkti, ap miljards. Katram punktam ir sava vērtība. Izvēlās kādu kartes skatu ar diognāli(x1,y1,x2,y2) un jāatrod N (ap 50) punkti ar lielākajām vērtībām. Daudz rama vajadzēs :)
marrtins Posted November 14, 2008 Report Posted November 14, 2008 NU iedodat to geoip adrešu tabulu lai es arī varētu uztestēt!!! Patestēt var http://ip2country.hackers.lv/ Doma ir palaist to kādu dienu opensource. Nevar tik saņemties.
marrtins Posted November 14, 2008 Report Posted November 14, 2008 Es neko nesaku. Es uztaisīju savām vajadzībām, tas arī viss.
codez Posted November 15, 2008 Author Report Posted November 15, 2008 Squad, vai izmantoji memory tabulas?
Recommended Posts