Aktív témák
-
P.H.
senior tag
Eddig sosem sikerült igazán hatékonyan kihasználnom a prefetch-utasításokat, most viszont a legjobbkor, a megfelelő algoritmusnál sikerült ráérezni: az egész kód elejére (amikor még nem függ tőle semmi egy ideig) áttéve a legvéletlenszerűbb betöltést és előbetöltve az az által címzett adatot kb. 20% gyorsulást eredményezett a teljes lefutási időt tekintve.
Így, ameddig a @down ciklus (előre meg nem jósolható számú, de biztosan 1-21 közötti) lefutása megtörténik, addig az esetek egy nem elhanyagolható részében kényelmesen megérkezik az utána következő @block-rész és @connects-ciklus által feldolgozott adat az L1D-be.
Így a program mostantól legalább Pentium3-at igényel az SSE miatt.
@entry:
mov edi,[esi-08h+__PRIO]
mov ecx,[esi+__QUEUESIZE]
---> mov ebx,[esi+__PACKADAT2]
or edx,-1
mov ebp,[esi+ecx*08h+__PRIO]
---> mov ebx,[ebx+edi*04h]
cmp edi,[esp+__STOPINDEX]
jz @finish
sub ecx,edx
mov [esi+edi*08h+__CONN],edi
jg @finish
mov [esi+__QUEUESIZE],ecx
jz @block
mov [esi+__HEADER],ebx
---> prefetchnta [ebx]
@down:
mov ecx,edx
add edx,edx
mov ebx,ebp
cmp edx,[esi+__QUEUESIZE]
jl @insertdown
mov eax,[esi+edx*08h+00h+__PRIO]
mov ebx,[esi+edx*08h-08h+__PRIO]
mov eax,[esi+eax*08h+__DIST]
jz @child
mov ebx,[esi+ebx*08h+__DIST]
cmp eax,ebx
cmovnbe eax,ebx
lea ebx,[edx-01h]
cmovnbe edx,ebx
@child:
cmp [esi+ebp*08h+__DIST],eax
mov ebx,[esi+edx*08h+__PRIO]
cmovbe ebx,ebp
@insertdown:
mov [esi+ecx*08h+__PRIO],ebx
mov [esi+ebx*08h+__CONN],ecx
jnbe @down
mov ebx,[esi+__HEADER]
@block:
movzx eax,byte ptr [ebx+STRUCT0.FIELD0]
movzx ecx,byte ptr [ebx+STRUCTO.FIELD1]
add ebx,STRUCT0SIZE-STRUCT1SIZE
cmp byte ptr [esp+WORKAREA0+eax],00h
jz @entry
mov [esi+__HEADER],ecx
@connects:
sub dword ptr [esi+__HEADER],01h
js @entry
add ebx,STRUCT1SIZE
mov eax,[ebx+STRUCT1.FIELD0]
movzx edx,byte ptr [ebx+STRUCT1.FIELD1]
mov ecx,[esi+eax*08h+__CONN]
test ecx,ecx
jg @connects
@label1:
mov al,[ebx+STRUCT1.FIELD2]
mov ebp,[ebx+STRUCT1.FIELD3]
or al,[ebx+STRUCT1.FIELD4]
and al,[esp+WORKAREA1+edx]
cmp edx,11
mov edx,10000*1000
cmovnz edx,ebp
add edx,ebp
test al,al
movzx eax,byte ptr [ebx+STRUCT1.FIELD5]
cmovnz ebp,edx
@label2:
cmp al,0FFh
jz @label3
lea edx,[eax+eax*04h]
add edx,edx
sub eax,100
cmovbe eax,edx
cmp eax,[esp+ARGUMENT0]
lea edx,[ebp+1000*1000]
cmovna ebp,edx
@label3:
mov al,[ebx+STRUCT1.FIELD6]
cmp al,[esp+ARGUMENT1]
lea edx,[ebp+1000*1000]
mov eax,[ebx+STRUCT1.FIELD0]
cmova edx,ebp
sub ebp,ebp
cmp ecx,01h
rcl ebp,01h
neg ebp
add edx,[esi+edi*08h+__DIST]
or ebp,edx
cmp [esi+eax*08h+__DIST],ebp
jle @connects
mov [esi+eax*08h+__DIST],edx
neg eax
cmp ecx,00h
mov [esi+eax*08h+__PREV],edi
jnz @moveup
mov ecx,[esi+__QUEUESIZE]
sub ecx,01h
mov [esi+__QUEUESIZE],ecx
@moveup:
mov eax,ecx
sar ecx,01h
mov ebp,[esi+ecx*08h+__PRIO]
cmp eax,-2
ja @insertup
cmp edx,[esi+ebp*08h+__DIST]
@insertup:
cmovae ebp,[ebx+STRUCT1.FIELD0]
mov [esi+eax*08h+__PRIO],ebp
mov [esi+ebp*08h+__CONN],eax
jnae @moveup
jmp @connects
Aktív témák
- Óra topik
- Kerékpárosok, bringások ide!
- Vezeték nélküli fejhallgatók
- Mégis meglepi egy új GeForce-szal a rajongókat az NVIDIA?
- Ilyen olcsó sem volt még egy Apple notebook
- Motoros topic
- Xiaomi 17 Ultra - jó az optikája
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GL.iNet Flint 2 (GL-MT6000) router
- GoodSpeed: Mutasd magad topic!
- További aktív témák...
- G.SKILL TridentZ Royal DDR4 128GB kit (4x32GB) 4000MHz CL18 F4-4000C18Q-128GTRG
- Pioneer DDJ-FLX6-GT + M-Audio BX4 4,5" 120W ( egyben vagy akár külön külön is! )
- Intel I5-10500T / Beszámítás OK!
- P16 Gen1 16" QHD+ IPS i7-12800HX RTX A2000 32GB 512GB NVMe magyarított bill ujjolv gar
- Okos Playstation 4 Slim 1TB + 50 játék Gold Hen 12.52 PS4 GoldHen!
- HIBÁTLAN iPhone 14 128GB Starlight-1 ÉV GARANCIA - Kártyafüggetlen, MS4650
- BESZÁMÍTÁS! ASRock B450M R5 5600 16GB DDR4 512GB SSD RTX 3070 8GB SilentiumPC Signum SG1 750W
- Bomba ár! Dell Latitude 5400 - i5-8265U I 16GB I 256SSD I 14" HD I HDMI I Cam I W11 I Gari
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- HP EliteBook 840 G8 14" i5 1145G7, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
