the other side ([info]ukawi) rakstīja [info]koderi kopienā,
@ 2003-09-11 17:50:00

Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Garastāvoklis:penisLength++;

Uzlaboju programmas ātrdarbību no 1.58 minūtēm uz 5 sekundēm (ievaddatos fails ar 1416 rindiņām).
Tā vietā, lai izsauktu padding() metodi, kas aizpilda lauku līdz vajadzīgajam garumam ar atstarpēm (" "):
1. konstruktorā izveidoju String objektu (fill), kas sastāv no 2048 atstarpēm (maksimālais lauka garums)
2. padding() izsaukuma vietā izmantoju fill.substring(0, <nepieciešamais garums>)

Tagad kādu nedēļu varēs liekt pirkstus, lielīties par šo faktu un nestrādāt.



(Lasīt komentārus) - (Ierakstīt jaunu komentāru)


[info]smejmoon
2003-09-11 19:08 (saite)
nu iekš C es to netaisītu, esmu pa slinku. Iekš pitona (interpretējamas valodas), tas aiznjem ap 0.3711 sekundeem:

uzradām failu, ielasām failu, pagarinām stringus, ierakstām citā failā.

def fillShit():
	import random
	f = file("shitfile.txt", "w")

	lines = []
	for i in range(1416):
	 lines += [str(random.random()) * random.randint(1, 10)]

	f.write("\n".join(lines))
	f.close()

def newShit():
	shitBox = []
	for line in file("shitfile.txt", "r"):
		shitBox.append(line.rjust(2048))

	f = file("newshit.txt", "w")
	f.write("\n".join(shitBox))
	f.close()

import time
bull = 50
start = time.time()
for i in range(bull):
    fillShit()
    newShit()
end = time.time()

print str((end-start)/bull) 


jāpiezīmē, ka pie 10x lielākiem faila izmēriem (šim ir 100k) sākās nežēlīga svapošanās. (rezutāts zem 3MB)

(Atbildēt uz šo) (Diskusija)


[info]ukawi
2003-09-11 22:22 (saite)
tas aiznjem ap 0.3711 sekundeem
Nu man jau tur datu apstrāde arī notiek un es laiku fiksēju nevis programmā, bet palaižot (time <komanda>)

(Atbildēt uz šo) (Iepriekšējais)


(Lasīt komentārus) -

Neesi iežurnalējies. Iežurnalēties?