Jak zrychlit Kdyby/Translation?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
revoke
Člen | 36
+
0
-

Mám uloženy překlady deseti jazyků v cca 30 neon souborech o celkové velikosti 25MB a na běhu aplikace to ubírá nějakých 600msec. Co se s tím dá dělat? Napadá mě přesunout nejdelší fráze (SEO texty) do DB, což jde ale proti smyslu translátoru. Nebo nepomohlo by použití .mo souborů? Existuje nástroj, který by .neon soubory převedl do .po/.mo?

Editoval revoke (18. 1. 2017 13:59)

Martk
Člen | 661
+
+2
-

Nepomohlo by použití .mo souborů? Imho nepomohlo, na produkčním serveru vytvoří kdyby translator php soubor, kam exportuje všechny překlad z neonu, takže se to chová jako normální pole v php a na neon soubory se už nesahá.

Co se s tím dá dělat? Vyprofilovat, najít díru, kde tečou milisekundy, opravit a poslat pull-request. Možná někdo jiný poradí konkrétní radu…

jasir
Člen | 746
+
0
-

Zkus naparsované pole z neonu cachovat.

revoke
Člen | 36
+
+2
-

Takže problém nebyl v Translatoru jako takovém! Web obsahuje 11 mutací po cca 4500 produktech, čili 50000 unikátních URL adres. Ty jsem spolu s dalšími texty ukládal do překladů, ale tenhle způsob žral hrozně paměti, což v kombinaci s routováním byla podstata problému.

Přesunul jsem většinu textů do databáze (beztak je nepotřebuji tak často na to, aby byly v paměti) a pro routování jsem použil ElasticSearch + kešování do souborů s využitím opcache a jsem na +/- 40ms.