( asch | 2022. 09. 29., cs – 11:08 )

Javában a stringek belső ábrázolása többnyire betűnként 2 bájt (UTF-16-szerű). Ez még odavág egy kétszeres szorzót a base64 ábrázolásnak :-) Talán az újabb JRE implementációkban van erre optimalizáció, de nem vagyok biztos benne.

Aztán még a transzkódolás is rendkívül költséges, egyszer ebbe is beleástam magamat. De az legalább nem RAM, ezért a legtöbb esetben a többi mellett már fel sem tűnik, hogy mennyire pazarló. Ha komolyan optimalizálni kellene egy ilyet, akkor nyers bájt folyamot használnék és a base64 enkóderből is csinálnék egy olyat ami ASCII kódolással bájt folyamba tudja írni a kimenetet, tehát String objektum nem keletkezik egy sem. És persze mindezt néhány újrahasznosított bufferben. Így már majdnem olyan hatékony volna a program mint mikrovezérlőn :-)