from the linked discussion:
https://www.postgresql.org/message-id/flat/ff4c2f2f9c8fc7ca2...
""" v15:Performance:
Sotring 10M strings:
libc "C" 14s
builtin C_UTF8 14s
libc "C.utf8" 20s
ICU "en-US-x-icu" 31s
Running UPPER() on 10M strings:
libc "C" 03s
builtin C_UTF8 07s
libc "C.utf8" 08s
ICU "en-US-x-icu" 15s
"""""" v20Performance:
ASCII-only data:
lower initcap upper
"C" (libc) 2426 3326 2341
pg_c_utf8 2890 6570 2825
pg_unicode_fast 2929 7140 2893
"C.utf8" (libc) 5410 7810 5397
"en-US-x-icu" 8320 65732 9367
Including non-ASCII data:
lower initcap upper
"C" (libc) 2630 4677 2548
pg_c_utf8 5471 10682 5431
pg_unicode_fast 5582 12023 5587
"C.utf8" (libc) 8126 11834 8106
"en-US-x-icu" 14473 73655 15112
"""