A számítógépes rendszerekben a többletköltség vagy többletterhelés olyan közös funkciókat jelent, amelyek minden felhasználó vagy folyamat hasznára válnak, de nem tulajdoníthatók közvetlenül egyetlen konkrét feladatnak sem. Ez tehát hasonló a vállalatok többletköltségeihez. A számítógépes rendszer többletterhelése lassabb feldolgozásként, kevesebb memóriaként, kisebb tárolókapacitásként, kisebb hálózati sávszélességként vagy nagyobb késleltetésként jelenik meg, mint az elvárható a rendszerspecifikációk olvasásakor. Ez a mérnöki többletköltség egy speciális esete. A többletköltség döntő tényező lehet a szoftvertervezésben, tekintettel a szerkezetre, a hibajavításra és a jellemző szolgáltatások, funkciók felvételére. Példák a számítási többletterhelésre az objektumorientált programozásban (OOP), a funkcionális programozásban, adatátvitel esetében, illetve adatszerkezetek és fájlrendszerek adattároló eszközökön való megvalósításaiban sokfélék lehetnek.
Szoftvertervezés
A megvalósítás megválasztása A programozó/szoftvermérnök többféle algoritmus, kódolás, adattípus vagy adatstruktúra közül választhat, amelyek mindegyike ismert jellemzőkkel rendelkezik. A választásnál figyelembe kell venni a hozzájuk tartozó többletköltségeket is.
Kompromisszumok A szoftverfejlesztésben a többletköltségek befolyásolhatják azt a döntést, hogy beépítsünk-e funkciókat az új termékekbe, vagy hogy megéri-e kijavítani a hibákat. Előfordulhat, hogy a magas többletköltségű szolgáltatás nem kerül bele – vagy ehhez nagy anyagi ösztönzésre van szüksége. Noha a szoftverszolgáltatók jól ismerik a termékeik hibáit, gyakran a kijavításuk nem térül meg.
Például egy implicit adatstruktúra vagy tömör adatstruktúra alacsony helyigényt biztosíthat lassú teljesítmény árán (tár/idő kompromisszum).
A szoftver futásidejű komplexitása Az algoritmikus bonyolultságot általában a nagy O jelöléssel határozzák meg. Ez nem befolyásolja, hogy mennyi ideig tart valaminek a futtatása, vagy mennyi memóriát használ, de a növekedés mértéke a bemenet méretétől függ. Az általános költség szándékosan nem része ennek a számításnak, mivel gépenként változik, míg egy algoritmus elvi futási ideje nem.
Ezzel szembe kell állítani az algoritmikus hatékonyságot, amely mindenféle erőforrást figyelembe vesz – a komplexitás és a többletköltségek (nem triviális) kombinációja.
Példák
Számítógépes programozás (futásidejű és számítási többletköltség) Egy függvény meghívása kis futási többletköltséget jelent. Néha a fordító minimálisra csökkentheti ezt a többletköltséget azáltal, hogy behelyettesít néhány függvényhívást.
CPU gyorsítótárak A CPU gyorsítótárában a "gyorsítótár mérete" (vagy kapacitása) arra utal, hogy a gyorsítótár mennyi adatot tárol. Például egy „-os cache" egy gyorsítótár, amely adatot tárol. A „" ebben a példában kizárja az olyan overhead biteket, mint például a keret-, cím- és címkeinformáció. Presentation for course in Computer Architecture.
Kommunikáció (adatátviteli költség) Egy kommunikációs hálózaton ahhoz, hogy megbízhatóan elküldjünk valamilyen adatot, nem elég csupán magát a hasznos terhet elküldeni. A célállomás eléréséhez szükséges különféle vezérlő- és jelzésadatok (TCP) küldése is. Ez úgynevezett protokoll többletköltséget hoz létre, mivel a további adatok nem járulnak hozzá az üzenet belső jelentéséhez.
A telefóniában a számtárcsázás és a hívásfelépülés ideje többletköltséget jelent. A félduplex rádiókban a "vége" használata és az ütközések elkerüléséhez szükséges egyéb jelzések használata többletköltséget jelent.
A protokoll többletterhelése százalékban kifejezhető, a nem alkalmazási bájtok (protokoll- és keretszinkronizálás) osztva az üzenetben lévő bájtok teljes számával.
Kódolások és adatstruktúrák (többletméret) Az információk és adatok kódolása is többletköltséget jelent. A "2011-07-12 07:18:47" dátum és idő Unix-időben fejezhető ki a 1310447927 32 bites előjeles egész számmal, amely mindössze 4 bájtot vesz igénybe. Az ISO 8601 szabvány szerint formázott UTF-8 kódolású karakterláncként ábrázolva 2011-07-12 07:18:47 a dátum 19 bájtot foglalna el, ami 375%-os többletköltséget jelent a bináris egész reprezentációhoz képest. XML-ben ez a dátum a következőképpen írható 218 karakterből álló többletköltséggel, ha hozzáadjuk a szemantikai kontextust, amely egy CHANGEDATE minősítő 1-es indexszel. <?xml version="1.0" encoding="UTF-8"?> <datetime qualifier="changedate" index="1"> <year>2011</year> <month>07</month> <day>12</day> <hour>07</hour> <minute>18</minute> <second>47</second> </datetime> Az UTF-8 kódolású XML-ből származó 349 bájt 8625%-os többletméretnek felel meg az eredeti egész típusú megjelenítéséhez képest.
Fájlrendszerek Magukon a fájlokon kívül a számítógépes fájlrendszerek a hely egy részét a könyvtárnevek és -listák, fájlnevek, fájlok szektorhelyeinek, attribútumok, például az utolsó módosítás és létrehozás dátuma és időpontja, a fájlok töredezettségének, a tár írott és szabad részei, valamint egyes fájlrendszereken a napló tárolására használják.
Sok kis fájl több többletköltséget termel, mint kevés nagy fájl.
Jegyzetek
Fordítás
Kapcsolódó szócikk Fájlrendszer-töredezettség
Kategória:Számítógép-programozás