Nadpis je nutné brát doslova - některé úlohy se nevyplatí optimalizovat, to je velice daleko od "žádné úlohy se nevyplatí zlepšit". K otázkam:
Přiohnutí do 2 tisíců započítané samozřejmě není, ale trvalo asi dva-tři dny. 2kKč nejsou ani jeden "programátor-den". Aby se tedy optimalizace vyplatila, musel bych za dopoledne vymyslet (a odladit!) řešení, které by snížilo náročnost o tři řády. To mi přišlo jako nepravděpodobné.
7 CPU-měsíců bylo napříč asi 8 oddělenými datasety, přičemž každý pak bylo potřeba ještě manuálně zkontrolovat a vyčistit. Prakticky jsem tedy každý večer před odchodem z práce zapnul cluster a druhý den ráno jsem měl spočítáno, přes den jsem dělal cleanup. Kdybych chtěl, místo 70 instancí zapnu 500 a měl bych spočítáno přes jednu noc vše. Ale zase, byla to výjimečně paralelizovatelná úloha, pořád platí první věta: "některé úlohy".
A co se týče opakování, nebyl to náš případ, což ale neznamená, že to nebude váš. Spočítání jednoho jízdního řádu jsou dva datasety, takže asi pětistovka, v ročním kontextu je to zanedbatelné. Mít to ale počítat dvakrát denně, tak se optimalizace samozřejmě vyplatí.
A nad to celé: svůj soukromý kód, který píšu pro své potěšení, si také rád vymazlím, byť to nedává ekonomický smysl. Ale tohle bylo pracovní zadání a část mé výplaty jde i na volbu nejlepšího postupu, a tím tentokrát byla hrubá síla.