Zašto UI ne radi na našem poslužitelju
O sadržaju i njegovoj provjeri
U ovom članku
Na stroju koji poslužuje ovo web-mjesto ne radi nijedan jezični model. Sažeci se izračunavaju na drugom uređaju koji dohvaća zadatke, obavlja posao i vraća rečenice.
Razlog je aritmetika. Model 3B zauzima više od gigabajta memorije i treba sekunde po odgovoru. Najzahtjevniji upit bazi podataka u cijeloj ovoj aplikaciji traje 581 milisekundu. Smještanje obojega na istu ploču znači da slike brojača za 379.000 brojača čekaju iza generatora teksta, a upravo su one stvarni proizvod.
Koliko to košta i što donosi
Cijena je drugi stroj i red čekanja. Zadaci se dijele u skupinama od najviše dvadeset; red čekanja ima gornju granicu i kada se napuni ništa se novo ne izrađuje — već napisane rečenice ostaju vidljive. Sažetak star tjedan dana u redu je. Nedostajući sažetak u redu je. Stranica statistike koja je spora jer nešto drugo na ploči razmišlja nije.
Dobitak je to što postupak brojanja nikad ne dijeli stroj ni s čim nepredvidivim. Iscrtavanje slike brojača mali je, ograničen posao. Generiranje teksta nije: ovdje je izmjeren raspon od 5,4 do 54,3 sekunde za jednu rečenicu, deseterostruka razlika između brzog i sporog slučaja, o kojoj odlučuje nešto što poslužitelj ne može unaprijed vidjeti.
Što napušta kuću
O ovom je dijelu trebalo odlučiti prije nego što je išta izrađeno jer se on ne može naknadno popraviti.
Drugi stroj prima samo brojke koje su već javne na vlastitoj stranici statistike brojača, i to samo od brojača čija je stranica statistike uopće javna — nije privatna ni zaštićena lozinkom. Izvršitelj ne saznaje ništa što posjetitelj te stranice ne bi mogao pročitati njezinim otvaranjem.
To nije sretna nuspojava načina na koji je kod ispao. Upit za odabir kandidata to filtrira i bez tog bi filtra cijela funkcija bila prijenos tuđih podataka na drugi uređaj. Nijedna verzija rečenice „pazit ćemo na njih“ nije dobra kao neslanje.
Opći oblik
Iz ovoga su proizašla dva pravila koja vrijede više od same funkcije.
Držite neograničen posao izvan ograničenog puta. Sve čije je trajanje nepredvidivo unutar reda veličine ne pripada stroju koji mora odgovoriti u milisekundama. Ne „obično je u redu“ — važan je spori slučaj i on uvijek stigne.
Odlučite što smije otići prije odluke što izraditi. Da je odgovor bio „izvršitelj treba i privatne brojače“, ispravan odgovor ne bi bio osigurati prijenos. Bio bi da funkcija ne obuhvaća privatne brojače, a upravo tako i radi.