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.



(Ierakstīt jaunu komentāru)


[info]smejmoon
2003-09-11 18:08 (saite)
aha .. incanti cik ātri strādātu (pseudoCpp):


const int size = 200;
const char* space = [32,32,32,32,32, ..];

for each(Stuff;stuff;peace)
{
  newShit = new char[size];
  memcpy(newShit, space, size);
  memcpy(newShit, peace->c_str(), peace->size());
  shotbox.append(newShit)
}



Vai tad Javaa nav iespeejams saukt C biblioteekas?

(Atbildēt uz šo) (Diskusija)


[info]ukawi
2003-09-11 18:47 (saite)
Ir iespējams izsaukt C bibliotēkas, bet šobrīd tam nav vajadzības. Un programmai jāizpildās gan uz Windows, gan UNIX (galvenokārt Linux un Solaris), tāpēc ar tām bibliotēkām būtu problēma.

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


[info]watt
2003-09-17 22:10 (saite)
iopt, kaads memcpy ja ir memset?

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


[info]smejmoon
2003-09-17 22:53 (saite)
tasnība .. 'space's ascii kodu pareizi uzrakstīju ? :D

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


[info]watt
2003-09-17 23:43 (saite)
0x20, tur jau taa lieta ka pareiz ;-p

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


[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)


(Anonīms)
2003-09-12 12:18 (saite)
vispaabaa vakar nodarbojos ar ko dikti liidziigu - un neko ;D
Fails - 500K, vajadzeeja kaudzeem patternus paarlikt, novaakt speisus, newlinus, paartaisiit neUnicode entiites uz htmlentiiteem, itd...
Rakstiju prieksh taa php skriptu. Izpildijas shamais beigaas tik aatri ka man naacaas paarliecinaaties vai vispaar esmu vinju palaidis. Bet izejas fails bija ok.
Visi mees pusi dziives pavadam sagremojot dazhaadus stringus...

(Atbildēt uz šo)


(Anonīms)
2003-09-17 23:54 (saite)
mov eax, [string_len]
mov edx, 4
div eax, edx ' eax: quo / edx: rem
mov ecx, eax

mov eax, 020202020h
mov edi, offset string
rep stosd
mov ecx, edx
rep stosb

guess who

(Atbildēt uz šo) (Diskusija)


[info]ukawi
2003-09-25 11:04 (saite)
Izpildīsies ~4 reizes retāk, bet tik un tā cikls. Nav jēgas labot nepiemērotu (sliktu) algoritmu, pārrakstot to zemāka līmeņa valodā.

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


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