S pravilno porazdelitvijo dela med tolmačem in pravočasnim prevajalnikom se lahko približamo hitrosti c++ brez nerodnih zakasnitev ob zagonu, a kako jo preseči? Odgovor je v prilagodljivem prevajanju, ki izkorišča dejavno stanje programa. Tipičen zgled: dinamični prevajalnik vedno ve, kolikokrat se bo ponovila zanka for, statični pa ne, saj je lahko meja zanke podana s spremenljivko. Dinamični prevajalnik z vgrajenim tolmačem lahko prevaja optimistično. To pomeni, da prevede le najbolj verjeten tok programa in se ne ukvarja z morebitnimi izjemami in ostalimi vejitvami, ki jih je težko optimalizirati. Če se morda le pripetijo, se koda pač tolmači. Zaradi predmetne narave jave pa si največje pospeške lahko obetamo z vstavljanjem (inlining). V čistih predmetnih programih je število klicev metod ogromno. Če bi programerji v c++ programirali popolnoma predmetno in ne bi izkoriščali možnosti kodiranja v c, bi statični prevajalniki imeli bore malo možnosti optimalizacije. Klic metode je v času prevajanja preveč nedorečen, da bi ga bilo moč pospešiti. Dinamični prevajalnik teh težav nima, saj deluje v času izvajanja programa. Zato lahko klice metod nadomesti z vstavitvijo njihove kode na mesto klica. Vsi režijski stroški prenosa parametrov in klica tako odpadejo. Seveda pa ima vstavljanje kode velike prostorske zahteve. Če bi želeli z vstavljanjem nadomestiti vse klice, bi se program prostorsko povečal tudi deset- in večkrat. Na srečo je pravilo, da se okrog 20 % kode izvaja okrog 80 % časa. Ker dinamični prevajalnik kodo ves čas spremlja in zna ugotoviti časovno zahtevnost metode, poleg tega pa prevaja optimistično, lahko z vstavljanjem kode optimalizira le majhen del programa, tako da se prostorska zahtevnost ne poveča bistveno.
Beseda | Osnovna oblika | Oblikoslovne lastnosti osnovne oblike |
---|---|---|
S | z | predlog; orodnik |
pravilno | pravilen | splošni pridevnik; nedoločena stopnja, ženski spol, ednina, orodnik |
porazdelitvijo | porazdelitev | samostalnik, občno ime; ženski spol, ednina, orodnik |
dela | delo | samostalnik, občno ime; srednji spol, ednina, rodilnik |
med | med | predlog; orodnik |
tolmačem | tolmač | samostalnik, občno ime; moški spol, ednina, orodnik |
in | in | priredni veznik |
pravočasnim | pravočasen | splošni pridevnik; nedoločena stopnja, moški spol, ednina, orodnik |
prevajalnikom | prevajalnik | samostalnik, občno ime; moški spol, ednina, orodnik |
se | se | povratni zaimek;, klitična naslonskost |
lahko | lahko | splošni prislov; nedoločena stopnja |
približamo | približati | glavni glagol; dovršni, sedanjik, 1. oseba, množina |
hitrosti | hitrost | samostalnik, občno ime; ženski spol, ednina, rodilnik |
c | c | samostalnik, občno ime; moški spol, ednina, imenovalnik |
brez | brez | predlog; rodilnik |
nerodnih | neroden | splošni pridevnik; nedoločena stopnja, ženski spol, množina, rodilnik |
zakasnitev | zakasnitev | samostalnik, občno ime; ženski spol, množina, rodilnik |
ob | ob | predlog; mestnik |
zagonu | zagon | samostalnik, občno ime; moški spol, ednina, mestnik |
a | a | priredni veznik |
kako | kako | splošni prislov; nedoločena stopnja |
jo | on | osebni zaimek; 3. oseba, ženski spol, ednina, tožilnik, klitična naslonskost |
preseči | preseči | glavni glagol; dovršni, nedoločnik |
Odgovor | odgovor | samostalnik, občno ime; moški spol, ednina, imenovalnik |
je | biti | pomožni glagol; sedanjik, 3. oseba, ednina, nezanikani |
v | v | predlog; mestnik |
prilagodljivem | prilagodljiv | splošni pridevnik; nedoločena stopnja, srednji spol, ednina, mestnik |
prevajanju | prevajanje | samostalnik, občno ime; srednji spol, ednina, mestnik |
ki | ki | podredni veznik |
izkorišča | izkoriščati | glavni glagol; nedovršni, sedanjik, 3. oseba, ednina |
dejavno | dejaven | splošni pridevnik; nedoločena stopnja, srednji spol, ednina, tožilnik |
stanje | stanje | samostalnik, občno ime; srednji spol, ednina, tožilnik |
programa | program | samostalnik, občno ime; moški spol, ednina, rodilnik |
Tipičen | tipičen | splošni pridevnik; nedoločena stopnja, moški spol, ednina, imenovalnik, določnost=ne |
zgled | zgled | samostalnik, občno ime; moški spol, ednina, imenovalnik |
dinamični | dinamičen | splošni pridevnik; nedoločena stopnja, moški spol, ednina, imenovalnik, določnost=da |
prevajalnik | prevajalnik | samostalnik, občno ime; moški spol, ednina, imenovalnik |
vedno | vedno | splošni prislov; nedoločena stopnja |
ve | vedeti | glavni glagol; nedovršni, sedanjik, 3. oseba, ednina |
kolikokrat | kolikokrat | splošni prislov; nedoločena stopnja |
se | se | povratni zaimek;, klitična naslonskost |
bo | biti | pomožni glagol; prihodnjik, 3. oseba, ednina, nezanikani |
ponovila | ponoviti | glavni glagol; dovršni, deležnik, ednina, ženski spol |
zanka | zanka | samostalnik, občno ime; ženski spol, ednina, imenovalnik |
for | fora | samostalnik, občno ime; ženski spol, množina, rodilnik |
statični | statičen | splošni pridevnik; nedoločena stopnja, moški spol, množina, imenovalnik |
pa | pa | priredni veznik |
ne | ne | členek |
saj | saj | priredni veznik |
je | biti | pomožni glagol; sedanjik, 3. oseba, ednina, nezanikani |
lahko | lahko | splošni prislov; nedoločena stopnja |
meja | meja | samostalnik, občno ime; ženski spol, ednina, imenovalnik |
zanke | zanka | samostalnik, občno ime; ženski spol, ednina, rodilnik |
podana | podan | deležniški pridevnik; nedoločena stopnja, ženski spol, ednina, imenovalnik |
s | z | predlog; orodnik |
spremenljivko | spremenljivka | samostalnik, občno ime; ženski spol, ednina, orodnik |
Dinamični | dinamičen | splošni pridevnik; nedoločena stopnja, moški spol, ednina, imenovalnik, določnost=da |
prevajalnik | prevajalnik | samostalnik, občno ime; moški spol, ednina, imenovalnik |
z | z | predlog; orodnik |
vgrajenim | vgrajen | deležniški pridevnik; nedoločena stopnja, moški spol, ednina, orodnik |
tolmačem | tolmač | samostalnik, občno ime; moški spol, ednina, orodnik |
lahko | lahko | splošni prislov; nedoločena stopnja |
prevaja | prevajati | glavni glagol; nedovršni, sedanjik, 3. oseba, ednina |
optimistično | optimistično | splošni prislov; nedoločena stopnja |
To | ta | kazalni zaimek; srednji spol, ednina, imenovalnik |
pomeni | pomeniti | glavni glagol; dvovidski, sedanjik, 3. oseba, ednina |
da | da | podredni veznik |
prevede | prevesti | glavni glagol; dovršni, sedanjik, 3. oseba, ednina |
le | le | členek |
najbolj | najbolj | splošni prislov; presežnik |
verjeten | verjeten | splošni pridevnik; nedoločena stopnja, moški spol, ednina, tožilnik, določnost=ne |
tok | tok | samostalnik, občno ime; moški spol, ednina, tožilnik, živost=ne |
programa | program | samostalnik, občno ime; moški spol, ednina, rodilnik |
in | in | priredni veznik |
se | se | povratni zaimek;, klitična naslonskost |
ne | ne | členek |
ukvarja | ukvarjati | glavni glagol; nedovršni, sedanjik, 3. oseba, ednina |
z | z | predlog; orodnik |
morebitnimi | morebiten | splošni pridevnik; nedoločena stopnja, ženski spol, množina, orodnik |
izjemami | izjema | samostalnik, občno ime; ženski spol, množina, orodnik |
in | in | priredni veznik |
ostalimi | ostal | deležniški pridevnik; nedoločena stopnja, ženski spol, množina, orodnik |
vejitvami | vejitev | samostalnik, občno ime; ženski spol, množina, orodnik |
ki | ki | podredni veznik |
jih | on | osebni zaimek; 3. oseba, ženski spol, množina, tožilnik, klitična naslonskost |
je | biti | pomožni glagol; sedanjik, 3. oseba, ednina, nezanikani |
težko | težko | splošni prislov; nedoločena stopnja |
optimalizirati | optimalizirati | glavni glagol; dvovidski, nedoločnik |
Če | če | podredni veznik |
se | se | povratni zaimek;, klitična naslonskost |
morda | morda | členek |
le | le | členek |
pripetijo | pripetiti | glavni glagol; dovršni, sedanjik, 3. oseba, množina |
se | se | povratni zaimek;, klitična naslonskost |
koda | koda | samostalnik, občno ime; ženski spol, ednina, imenovalnik |
pač | pač | členek |
tolmači | tolmačiti | glavni glagol; nedovršni, sedanjik, 3. oseba, ednina |
Zaradi | zaradi | predlog; rodilnik |
predmetne | predmeten | splošni pridevnik; nedoločena stopnja, ženski spol, ednina, rodilnik |
narave | narava | samostalnik, občno ime; ženski spol, ednina, rodilnik |
jave | java | samostalnik, lastno ime; ženski spol, ednina, rodilnik |
pa | pa | priredni veznik |
si | se | povratni zaimek; dajalnik, klitična naslonskost |
največje | velik | splošni pridevnik; presežnik, moški spol, množina, tožilnik |
pospeške | pospešek | samostalnik, občno ime; moški spol, množina, tožilnik |
lahko | lahko | splošni prislov; nedoločena stopnja |
obetamo | obetati | glavni glagol; nedovršni, sedanjik, 1. oseba, množina |
z | z | predlog; orodnik |
vstavljanjem | vstavljanje | samostalnik, občno ime; srednji spol, ednina, orodnik |
inlining | inlining | samostalnik, lastno ime; moški spol, ednina, imenovalnik |
V | v | predlog; mestnik |
čistih | čist | splošni pridevnik; nedoločena stopnja, moški spol, množina, mestnik |
predmetnih | predmeten | splošni pridevnik; nedoločena stopnja, moški spol, množina, mestnik |
programih | program | samostalnik, občno ime; moški spol, množina, mestnik |
je | biti | pomožni glagol; sedanjik, 3. oseba, ednina, nezanikani |
število | število | samostalnik, občno ime; srednji spol, ednina, imenovalnik |
klicev | klic | samostalnik, občno ime; moški spol, množina, rodilnik |
metod | metoda | samostalnik, občno ime; ženski spol, množina, rodilnik |
ogromno | ogromno | splošni prislov; nedoločena stopnja |
Če | če | podredni veznik |
bi | biti | pomožni glagol; pogojnik |
programerji | programer | samostalnik, občno ime; moški spol, množina, imenovalnik |
v | v | predlog; tožilnik |
c | c | samostalnik, občno ime; moški spol, ednina, imenovalnik |
programirali | programirati | glavni glagol; dvovidski, deležnik, množina, moški spol |
popolnoma | popolnoma | splošni prislov; nedoločena stopnja |
predmetno | predmetno | splošni prislov; nedoločena stopnja |
in | in | priredni veznik |
ne | ne | členek |
bi | biti | pomožni glagol; pogojnik |
izkoriščali | izkoriščati | glavni glagol; nedovršni, deležnik, množina, moški spol |
možnosti | možnost | samostalnik, občno ime; ženski spol, množina, tožilnik |
kodiranja | kodiranje | samostalnik, občno ime; srednji spol, ednina, rodilnik |
v | v | predlog; tožilnik |
c | c | samostalnik, občno ime; moški spol, ednina, tožilnik, živost=ne |
bi | biti | pomožni glagol; pogojnik |
statični | statičen | splošni pridevnik; nedoločena stopnja, moški spol, množina, imenovalnik |
prevajalniki | prevajalnik | samostalnik, občno ime; moški spol, množina, imenovalnik |
imeli | imeti | glavni glagol; nedovršni, deležnik, množina, moški spol |
bore | bore | splošni prislov; nedoločena stopnja |
malo | malo | splošni prislov; nedoločena stopnja |
možnosti | možnost | samostalnik, občno ime; ženski spol, ednina, rodilnik |
optimalizacije | optimalizacija | samostalnik, občno ime; ženski spol, ednina, rodilnik |
Klic | klic | samostalnik, občno ime; moški spol, ednina, imenovalnik |
metode | metoda | samostalnik, občno ime; ženski spol, ednina, rodilnik |
je | biti | pomožni glagol; sedanjik, 3. oseba, ednina, nezanikani |
v | v | predlog; mestnik |
času | čas | samostalnik, občno ime; moški spol, ednina, mestnik |
prevajanja | prevajanje | samostalnik, občno ime; srednji spol, ednina, rodilnik |
preveč | preveč | splošni prislov; nedoločena stopnja |
nedorečen | nedorečen | splošni pridevnik; nedoločena stopnja, moški spol, ednina, imenovalnik, določnost=ne |
da | da | podredni veznik |
bi | biti | pomožni glagol; pogojnik |
ga | on | osebni zaimek; 3. oseba, moški spol, ednina, tožilnik, klitična naslonskost |
bilo | biti | pomožni glagol; deležnik, ednina, srednji spol |
moč | moč | splošni prislov; nedoločena stopnja |
pospešiti | pospešiti | glavni glagol; dovršni, nedoločnik |
Dinamični | dinamičen | splošni pridevnik; nedoločena stopnja, moški spol, ednina, imenovalnik, določnost=da |
prevajalnik | prevajalnik | samostalnik, občno ime; moški spol, ednina, imenovalnik |
teh | ta | kazalni zaimek; ženski spol, množina, rodilnik |
težav | težava | samostalnik, občno ime; ženski spol, množina, rodilnik |
nima | imeti | glavni glagol; nedovršni, sedanjik, 3. oseba, ednina, zanikani |
saj | saj | priredni veznik |
deluje | delovati | glavni glagol; nedovršni, sedanjik, 3. oseba, ednina |
v | v | predlog; mestnik |
času | čas | samostalnik, občno ime; moški spol, ednina, mestnik |
izvajanja | izvajanje | samostalnik, občno ime; srednji spol, ednina, rodilnik |
programa | program | samostalnik, občno ime; moški spol, ednina, rodilnik |
Zato | zato | splošni prislov; nedoločena stopnja |
lahko | lahko | splošni prislov; nedoločena stopnja |
klice | klic | samostalnik, občno ime; moški spol, množina, tožilnik |
metod | metoda | samostalnik, občno ime; ženski spol, množina, rodilnik |
nadomesti | nadomestiti | glavni glagol; dovršni, sedanjik, 3. oseba, ednina |
z | z | predlog; orodnik |
vstavitvijo | vstavitev | samostalnik, občno ime; ženski spol, ednina, orodnik |
njihove | njihov | svojilni zaimek; 3. oseba, ženski spol, ednina, rodilnik, množina svojine |
kode | koda | samostalnik, občno ime; ženski spol, ednina, rodilnik |
na | na | predlog; tožilnik |
mesto | mesto | samostalnik, občno ime; srednji spol, ednina, tožilnik |
klica | klic | samostalnik, občno ime; moški spol, ednina, rodilnik |
Vsi | ves | celostni zaimek; moški spol, množina, imenovalnik |
režijski | režijski | splošni pridevnik; nedoločena stopnja, moški spol, množina, imenovalnik |
stroški | strošek | samostalnik, občno ime; moški spol, množina, imenovalnik |
prenosa | prenos | samostalnik, občno ime; moški spol, ednina, rodilnik |
parametrov | parameter | samostalnik, občno ime; moški spol, množina, rodilnik |
in | in | priredni veznik |
klica | klic | samostalnik, občno ime; moški spol, ednina, rodilnik |
tako | tako | splošni prislov; nedoločena stopnja |
odpadejo | odpasti | glavni glagol; dovršni, sedanjik, 3. oseba, množina |
Seveda | seveda | členek |
pa | pa | priredni veznik |
ima | imeti | glavni glagol; nedovršni, sedanjik, 3. oseba, ednina, nezanikani |
vstavljanje | vstavljanje | samostalnik, občno ime; srednji spol, ednina, imenovalnik |
kode | koda | samostalnik, občno ime; ženski spol, ednina, rodilnik |
velike | velik | splošni pridevnik; nedoločena stopnja, ženski spol, množina, tožilnik |
prostorske | prostorski | splošni pridevnik; nedoločena stopnja, ženski spol, množina, tožilnik |
zahteve | zahteva | samostalnik, občno ime; ženski spol, množina, tožilnik |
Če | če | podredni veznik |
bi | biti | pomožni glagol; pogojnik |
želeli | želeti | glavni glagol; nedovršni, deležnik, množina, moški spol |
z | z | predlog; orodnik |
vstavljanjem | vstavljanje | samostalnik, občno ime; srednji spol, ednina, orodnik |
nadomestiti | nadomestiti | glavni glagol; dovršni, nedoločnik |
vse | ves | celostni zaimek; ženski spol, množina, tožilnik |
klice | klica | samostalnik, občno ime; ženski spol, množina, tožilnik |
bi | biti | pomožni glagol; pogojnik |
se | se | povratni zaimek;, klitična naslonskost |
program | program | samostalnik, občno ime; moški spol, ednina, imenovalnik |
prostorsko | prostorsko | splošni prislov; nedoločena stopnja |
povečal | povečati | glavni glagol; dovršni, deležnik, ednina, moški spol |
tudi | tudi | členek |
deset | deset | glavni števnik; besedni zapis, množina, tožilnik |
in | in | priredni veznik |
večkrat | večkrat | splošni prislov; primernik |
Na | na | predlog; tožilnik |
srečo | sreča | samostalnik, občno ime; ženski spol, ednina, tožilnik |
je | biti | pomožni glagol; sedanjik, 3. oseba, ednina, nezanikani |
pravilo | pravilo | samostalnik, občno ime; srednji spol, ednina, imenovalnik |
da | da | podredni veznik |
se | se | povratni zaimek;, klitična naslonskost |
okrog | okrog | splošni prislov; nedoločena stopnja |
20 | 20 | glavni števnik; arabski zapis |
kode | koda | samostalnik, občno ime; ženski spol, ednina, rodilnik |
izvaja | izvajati | glavni glagol; nedovršni, sedanjik, 3. oseba, ednina |
okrog | okrog | splošni prislov; nedoločena stopnja |
80 | 80 | glavni števnik; arabski zapis |
časa | čas | samostalnik, občno ime; moški spol, ednina, rodilnik |
Ker | ker | podredni veznik |
dinamični | dinamičen | splošni pridevnik; nedoločena stopnja, moški spol, ednina, imenovalnik, določnost=da |
prevajalnik | prevajalnik | samostalnik, občno ime; moški spol, ednina, imenovalnik |
kodo | koda | samostalnik, občno ime; ženski spol, ednina, tožilnik |
ves | ves | celostni zaimek; moški spol, ednina, tožilnik |
čas | čas | samostalnik, občno ime; moški spol, ednina, tožilnik, živost=ne |
spremlja | spremljati | glavni glagol; nedovršni, sedanjik, 3. oseba, ednina |
in | in | priredni veznik |
zna | znati | glavni glagol; nedovršni, sedanjik, 3. oseba, ednina |
ugotoviti | ugotoviti | glavni glagol; dovršni, nedoločnik |
časovno | časoven | splošni pridevnik; nedoločena stopnja, ženski spol, ednina, tožilnik |
zahtevnost | zahtevnost | samostalnik, občno ime; ženski spol, ednina, tožilnik |
metode | metoda | samostalnik, občno ime; ženski spol, ednina, rodilnik |
poleg | poleg | predlog; rodilnik |
tega | ta | kazalni zaimek; srednji spol, ednina, rodilnik |
pa | pa | priredni veznik |
prevaja | prevajati | glavni glagol; nedovršni, sedanjik, 3. oseba, ednina |
optimistično | optimistično | splošni prislov; nedoločena stopnja |
lahko | lahko | splošni prislov; nedoločena stopnja |
z | z | predlog; orodnik |
vstavljanjem | vstavljanje | samostalnik, občno ime; srednji spol, ednina, orodnik |
kode | koda | samostalnik, občno ime; ženski spol, ednina, rodilnik |
optimalizira | optimalizirati | glavni glagol; dvovidski, sedanjik, 3. oseba, ednina |
le | le | členek |
majhen | majhen | splošni pridevnik; nedoločena stopnja, moški spol, ednina, imenovalnik, določnost=ne |
del | del | samostalnik, občno ime; moški spol, ednina, imenovalnik |
programa | program | samostalnik, občno ime; moški spol, ednina, rodilnik |
tako | tako | priredni veznik |
da | da | podredni veznik |
se | se | povratni zaimek;, klitična naslonskost |
prostorska | prostorski | splošni pridevnik; nedoločena stopnja, ženski spol, ednina, imenovalnik |
zahtevnost | zahtevnost | samostalnik, občno ime; ženski spol, ednina, imenovalnik |
ne | ne | členek |
poveča | povečati | glavni glagol; dovršni, sedanjik, 3. oseba, ednina |
bistveno | bistveno | splošni prislov; nedoločena stopnja |