SG.hu
A memória árának megugrása talán ráirányítja a figyelmet a szoftverek optimalizálatlanságára
Az emelkedő memóriaár kikényszerítheti a szoftverfejlesztés régóta halogatott szemléletváltását, mert gyorsan tarthatatlanná válik az a gyakorlat hogy egyszerű feladatok is indokolatlanul hatalmas erőforrásokat igényelnek.
Az elmúlt években egyre többször került szóba a szoftverek túlburjánzása, mégis sokáig úgy tűnt, hogy ez legfeljebb nosztalgikus panaszkodás marad azok részéről, akik még emlékeznek a kilobájtokban mért programokra. Most azonban a helyzet változni látszik. A memória ára folyamatosan emelkedik, és ezzel együtt egyre kevesebb mentség marad arra, hogy az alkalmazások indokolatlanul sok erőforrást emésszenek fel. Ahogyan az 1970-es évek energiaválsága rákényszerítette az ipart a hatékonyság újragondolására, úgy a 2020-as évek memóriahiánya is hasonló fordulatot hozhat a szoftverfejlesztésben.
A múlt század hetvenes éveiben a nemzetközi konfliktusok miatt kialakult üzemanyaghiány a benzinkútaknál hosszú sorokat, feszültségeket és drasztikusan növekvő költségeket eredményezett. A válasz végül az lett, hogy a gyártók és a fogyasztók egyaránt kénytelenek voltak takarékosabban gondolkodni. A hatékonyabb motorok, az alacsonyabb fogyasztás és az energiafelhasználás optimalizálása ekkor nem divat volt, hanem kényszer. A párhuzam ma is adja magát, csak éppen az energia helyét a számítógépes memória vette át.
A RAM ára az utóbbi időszakban meredeken emelkedett, és semmi nem utal arra, hogy ez a tendencia gyorsan megfordulna. Míg korábban a fejlesztők sokszor legyintettek egy újabb keretrendszer vagy több megabájtos könyvtár hozzáadására, ma ez a hozzáállás egyre nehezebben tartható. Felmerül a kérdés, valóban szükség van-e ekkora memóriaigényre a legegyszerűbb feladatoknál is. Tényleg megabájtok kellenek ahhoz, hogy egy weboldal megjelenítse a Hello World modern megfelelőjét?
Jó példa erre a Windows Task Manager, azaz a feladatkezelő. Maga a futtatható állomány körülbelül 6 megabájtot foglal a lemezen, ám futás közben közel 70 megabájtnyi memóriát igényel, mielőtt egyáltalán megmutatná a felhasználónak, mennyi memóriát használ éppen a Chrome. Az eredeti Feladatkezelő mindössze 85 kilobájt volt, és funkcionalitásban nem maradt el nagyságrendekkel mai utódjától. Ez az összehasonlítás jól rávilágít arra, mennyire elszakadt a modern szoftverfejlesztés a takarékosság elvétől.
Azok, akik még emlékeznek arra az időszakra, amikor komplett operációs rendszerek és hasznos alkalmazások futottak floppy lemezekről, és a memória mérete kilobájtokban volt mérhető, régóta értetlenkedve figyelik a mai gyakorlatot. Sokáig azonban a technológiai fejlődés minden kritikát elnyomott. A memória egyre olcsóbbnak és bőségesebbnek tűnt, így a szoftverek növekedése természetes velejárónak számított. A túlzott erőforrásigény miatti panaszkodás inkább tűnt múltba révedő morgolódásnak, mint komolyan vehető problémának.
A mesterséges intelligencia robbanásszerű terjedése azonban új helyzetet teremtett. A világ minden táján adatközpontok épülnek, tele hatalmas számítási kapacitással és óriási memóriaigénnyel. Ez a verseny azonnali hatással volt az árakra, és a memória mára olyan erőforrássá vált, amelyből korántsem jut korlátlan mennyiség. Ebben a környezetben egyre kevésbé elfogadható, hogy egy alkalmazás gondolkodás nélkül lefoglaljon további megabájtokat pusztán kényelmi okokból.
A fejlesztőknek érdemes újra megvizsgálniuk, pontosan mire van valóban szükségük egy adott keretrendszerből, és mi az, ami csak megszokásból vagy lustaságból kerül be a projektbe. A hatékonyság nem csupán technikai kérdés, hanem szemléletmód is. Ehhez viszont az is kell, hogy a vezetők időt és teret adjanak az optimalizálásra. Ha egy csapat energiát fordít arra, hogy biztonságos és jól karbantartható eszközkészletet használjon, ugyanekkora figyelmet érdemel az is, hogy ezek az eszközök mennyire hatékonyak memóriahasználat szempontjából.
Gyakran elhangzik az a félkomoly megjegyzés, hogy a Holdra szálláshoz szükséges számítási teljesítmény eltörpül egy mai okostelefon képességei mellett. Ez igaz, de hajlamosak vagyunk elfelejteni, hogy nem is olyan régen még teljes értékű operációs rendszerek és alkalmazások működtek rendkívül szűkös erőforrások mellett. Nem technológiai csoda volt ez, hanem tudatos tervezés eredménye. A több évtizedes növekedés visszafordítása természetesen nem megy egyik napról a másikra. Ehhez alapvető gondolkodásbeli váltásra van szükség. Újra kell értelmezni a fejlesztői eszközláncokat, és olyan ösztönzőket kell kialakítani, amelyek jutalmazzák a tömör, hatékony megoldásokat. Nemcsak a lemezen elfoglalt hely számít, hanem az is, mennyi memóriát használ egy alkalmazás futás közben.
Ahogyan az 1970-es évek energiahiánya kikényszerítette a hatékonyabb működést, úgy a 2020-as évek memóriahiánya is elhozhatja azt a korszakot, amikor a szoftverek nem próbálnak meg minden egyes bájtot felesleges sallangokkal kitölteni. Lehet, hogy a megoldás nem újabb hardver vásárlása, hanem az, hogy végre kevesebb memóriát használunk.
Az elmúlt években egyre többször került szóba a szoftverek túlburjánzása, mégis sokáig úgy tűnt, hogy ez legfeljebb nosztalgikus panaszkodás marad azok részéről, akik még emlékeznek a kilobájtokban mért programokra. Most azonban a helyzet változni látszik. A memória ára folyamatosan emelkedik, és ezzel együtt egyre kevesebb mentség marad arra, hogy az alkalmazások indokolatlanul sok erőforrást emésszenek fel. Ahogyan az 1970-es évek energiaválsága rákényszerítette az ipart a hatékonyság újragondolására, úgy a 2020-as évek memóriahiánya is hasonló fordulatot hozhat a szoftverfejlesztésben.
A múlt század hetvenes éveiben a nemzetközi konfliktusok miatt kialakult üzemanyaghiány a benzinkútaknál hosszú sorokat, feszültségeket és drasztikusan növekvő költségeket eredményezett. A válasz végül az lett, hogy a gyártók és a fogyasztók egyaránt kénytelenek voltak takarékosabban gondolkodni. A hatékonyabb motorok, az alacsonyabb fogyasztás és az energiafelhasználás optimalizálása ekkor nem divat volt, hanem kényszer. A párhuzam ma is adja magát, csak éppen az energia helyét a számítógépes memória vette át.
A RAM ára az utóbbi időszakban meredeken emelkedett, és semmi nem utal arra, hogy ez a tendencia gyorsan megfordulna. Míg korábban a fejlesztők sokszor legyintettek egy újabb keretrendszer vagy több megabájtos könyvtár hozzáadására, ma ez a hozzáállás egyre nehezebben tartható. Felmerül a kérdés, valóban szükség van-e ekkora memóriaigényre a legegyszerűbb feladatoknál is. Tényleg megabájtok kellenek ahhoz, hogy egy weboldal megjelenítse a Hello World modern megfelelőjét?
Jó példa erre a Windows Task Manager, azaz a feladatkezelő. Maga a futtatható állomány körülbelül 6 megabájtot foglal a lemezen, ám futás közben közel 70 megabájtnyi memóriát igényel, mielőtt egyáltalán megmutatná a felhasználónak, mennyi memóriát használ éppen a Chrome. Az eredeti Feladatkezelő mindössze 85 kilobájt volt, és funkcionalitásban nem maradt el nagyságrendekkel mai utódjától. Ez az összehasonlítás jól rávilágít arra, mennyire elszakadt a modern szoftverfejlesztés a takarékosság elvétől.
Azok, akik még emlékeznek arra az időszakra, amikor komplett operációs rendszerek és hasznos alkalmazások futottak floppy lemezekről, és a memória mérete kilobájtokban volt mérhető, régóta értetlenkedve figyelik a mai gyakorlatot. Sokáig azonban a technológiai fejlődés minden kritikát elnyomott. A memória egyre olcsóbbnak és bőségesebbnek tűnt, így a szoftverek növekedése természetes velejárónak számított. A túlzott erőforrásigény miatti panaszkodás inkább tűnt múltba révedő morgolódásnak, mint komolyan vehető problémának.
A mesterséges intelligencia robbanásszerű terjedése azonban új helyzetet teremtett. A világ minden táján adatközpontok épülnek, tele hatalmas számítási kapacitással és óriási memóriaigénnyel. Ez a verseny azonnali hatással volt az árakra, és a memória mára olyan erőforrássá vált, amelyből korántsem jut korlátlan mennyiség. Ebben a környezetben egyre kevésbé elfogadható, hogy egy alkalmazás gondolkodás nélkül lefoglaljon további megabájtokat pusztán kényelmi okokból.
A fejlesztőknek érdemes újra megvizsgálniuk, pontosan mire van valóban szükségük egy adott keretrendszerből, és mi az, ami csak megszokásból vagy lustaságból kerül be a projektbe. A hatékonyság nem csupán technikai kérdés, hanem szemléletmód is. Ehhez viszont az is kell, hogy a vezetők időt és teret adjanak az optimalizálásra. Ha egy csapat energiát fordít arra, hogy biztonságos és jól karbantartható eszközkészletet használjon, ugyanekkora figyelmet érdemel az is, hogy ezek az eszközök mennyire hatékonyak memóriahasználat szempontjából.
Gyakran elhangzik az a félkomoly megjegyzés, hogy a Holdra szálláshoz szükséges számítási teljesítmény eltörpül egy mai okostelefon képességei mellett. Ez igaz, de hajlamosak vagyunk elfelejteni, hogy nem is olyan régen még teljes értékű operációs rendszerek és alkalmazások működtek rendkívül szűkös erőforrások mellett. Nem technológiai csoda volt ez, hanem tudatos tervezés eredménye. A több évtizedes növekedés visszafordítása természetesen nem megy egyik napról a másikra. Ehhez alapvető gondolkodásbeli váltásra van szükség. Újra kell értelmezni a fejlesztői eszközláncokat, és olyan ösztönzőket kell kialakítani, amelyek jutalmazzák a tömör, hatékony megoldásokat. Nemcsak a lemezen elfoglalt hely számít, hanem az is, mennyi memóriát használ egy alkalmazás futás közben.
Ahogyan az 1970-es évek energiahiánya kikényszerítette a hatékonyabb működést, úgy a 2020-as évek memóriahiánya is elhozhatja azt a korszakot, amikor a szoftverek nem próbálnak meg minden egyes bájtot felesleges sallangokkal kitölteni. Lehet, hogy a megoldás nem újabb hardver vásárlása, hanem az, hogy végre kevesebb memóriát használunk.