javageci

pure Java, what else ?

Postmature optimization

ern0 (@ern0plus4)
2013.02.16. 17:22
Arra meg mémes pofont osztanék ki, ha bárki azt mondja: “Nem elég gyors? Majd rakunk alája nagyobb vasat…” – slap! “Nem! Optimalizálsz!”

Ülnek a volt informatikus pásztorok este a tűz körül valahol Peruban (nem mindenki megy ám át az interjún, hogy felvegyék birkapásztornak Nepálba), és azon tanakodnak, hogy így az első tél vége felé, mióta ideköltöztek Győrből, bizony meg kellene nyírni a lámákat. Probláma azonban, hogy sok a láma, lassú a nyírás, és nem lesznek készen mire jön az átvevő, és ha a szőr rajt van a lámán, akkor nem fizet, vagy viszi a lámával együtt is. Itt a hegyen meg láma nélkül mit tereljen egy pásztor. Legfeljebb a híg levegőt.

Valaki javasolja, hogy nyírjanak agilisan, vagy párban, de mindenki tudja a múltjából, hogy ezek a dolog nem csodaszerek. Megy a hümmögés, lassan kortyolják a pisco-t.

  • Mi lenne, ha hívnánk segítséget a faluból? A helyiek értenek jól a lámanyíráshoz, besegítenének. Perszer fizetünk nekik, de még mindig jobban járunk, mint ha nem nyírjuk le a lámák szőrét. Egy munkás egy napra kap 100 Sol-t és lenyír annyi szőrt, ami akár 1000 Sol-t is megér.

Ekkor csattant el az a mémes pofon! Így a pásztorok optimalizáltak, a lámák nagy része meg szőrös maradt azon a tavaszon. A következő tavaszra persze megvolt az optimalizált gépi vágó terve, amivel le tudták volna vágni a láma szőrt, de mivel előző tavasszal kevés volt a bevétel a pásztorok fele elment mielőtt éhen halt volna, és a mindig vágyott álommunka helyett kénytelen, kelletlen elmentek informatikusnak. Enni kell. A lámák egy részét fillérekért eladták a faluban, egy részük elkóborolt, sok éhen halt. Maradt vagy húsz láma, amit meg lehetett volna nyírni akár körömvágó ollóval is. No meg pénz sem volt megépíteni a gépet. Saját elfogyott, nem is volt soha, a venture capital piac sem volt épp a toppon, de ha ott is lett volna, az előző évi mutatók alapján semmi remény nem volt kölcsönre, még a social funding arénában sem.

A két megmaradt pásztor a hegyen nyírta a húsz lámát, adta el a szőrt, és élt nyomorban, mint a faluban az indiánok, akik ugyancsak lámaterelésből éltek. A különbség csak az volt, hogy míg az indiánok esténként gombát ettek és pisco-t ittak, addig a két volt informatikus a tűz mellett egyre finomította a gépi nyíró tervét ami soha nem készült el, nagy láma csordáról álmodoztak, és elalvás előtt mémes pofonokat osztogattak egymásnak.

Itt vége is a történetnek. Aki ebből nem értette meg, hogy fel lehetett volna venni néhány embert, és azzal túlélni azt az időszakot, amíg elkészül a “nagy terv”, (ami általában sosem készül el) az osztogassa a mémes pofonokat. Ha egy megoldás nem a legjobb, de működik az sokkal jobb, mint ha nincs meg a legjobb megoldás csak félig, és nem is működik. De ha meglenne, akkor a lehető legjobb lenne.

Jobb egy híd a szakadék felett, amin át lehet sétálni, mint egy olyan, amelyik elbírna egy tankot is, csak éppen egy méterrel rövidebb, mint a szakadék. Ahogy Molnár Ferenc írta a Játék a kastélyban című darabjában, és ahogy Gál szerepében a felejthetetlen Zenthe Ferenc mondta: “nem kell a legjobbat akarni, elég a jó is”. Perszer ott a nőkről van szó, de ha mélyre ásunk, végül mindig ide jutunk. Mármint a nőkhöz.

Végül: természetesen van olyan helyzet, amikor le kell keverni azt a mémes pofont, de ilyen esetben is: Optimalizálsz fiam! Te meg közben, projekt menedzser fiam intézkedj, hogy addig is legyen nagyobb vas az optimalizálatlan szar alatt, amit ennek a programozónak csúfolt lámapásztornak sikerült magából ide erőltetni.

Optimalizálni kell (nem mindig), de addig is “The show must go on”.

P.S.: Ezeket ern0 pontosan tudja, jól ismerem az urat, dolgoztunk együtt, és ha egyszer dataflow szakértő kell majd, csak hozzá fordulok. Csak éppen egy tweet üzenet nem lehet ilyen hosszú, mint egy parttalanul ömlengő blog, és nem lehet minden aspektust leírni. Mindet még egy blogban sem. Ahhoz rövid az élet.

5 responses to “Postmature optimization

  1. mate február 20, 2013 9:17 du.

    Tehát ha lassú a kód, vegyünk fel még egy programozót. 🙂

    Teljesen egyetértek, az elsődleges, hogy a műsornak mennie kell most is, hosszú távon és fenntartható/megfinanszírozható módon, ebben a fontossági sorrendben.

    • tamasrev február 20, 2013 10:31 du.

      A hosszú táv is egy érdekes dolog: amikor valamit összegányolunk, akkor pár hét múlva egy últramaratonin találjuk magunkat. Najó, először csak egy 1500 méteresen, de úgyis az a futószámok királynője. Aztán kiderül, hogy valójában egy 5000m-es akadályfutáson vagyunk. Ami igazából bevezető egy hegyi maratonhoz…

      Másrészt meg, ha egy összekókányolt kódot kezdünk el karbantartani-kitisztítani, akkor kell pár év, hogy már kipucolt kóddal találkozzál, és gyorsan tudj haladni vele.

  2. tvik február 21, 2013 10:55 de.

    Eléggé elvontra sikerült a poszt, de egyetértek vele.

    Egy észrevétel a hozzászóláshoz: Az hogy gyorsan csinálunk meg egy áthidaló megoldást, nem feltétlenül jelenti azt, hogy gányolunk. Fordítva is igaz: jól megtervezett architektúra kódja is lehet egy nagy adag hányás, még akkor is ha sok idő volt rá. A szakértelmen múlik.

  3. Botond február 21, 2013 3:01 du.

    Annyi kiegészítést tennék, hogy optimalizálni (szinte) mindig kell csak éppen nagyon nem mindegy hogy mire. Az adott időkeretben elérhető optimumot megcélozni célszerű, elérni nem feltétlenül kell / lehet persze azt sem. Mindent előrelátni nem is lehet és ha sikerülne sem szabadna a világ-egyenletet egy lépésben megpróbálni megoldani… Szerintem persze.

    Hogy mégis mi a helyes?! A józan ész közbeiktatása, mint csaknem mindig és az arany középút!

  4. Bence február 25, 2013 3:42 du.

    Ez kellemetes (és tanulságos) vala. Kíváncsian várom a soronkövetkező birkapásztor-epizódot 😉

Hozzászólás