Redis často používáme, teď konkrétně u služby napsané v Pythonu. Jak je v tomho ohledu rychlé Clojure? Řekněme na službu, co vezme data z event streamu, provede transformaci, filtraci a uloží si výsledky do Redisu (může být v JSONu, ale to je asi jedno). Dá se očekávat, že to Clojure bude zvládat rychleji než běžný CPython 3.x (Kafka client, JSON->map->transformace->JSON, Redis client, nějaký ten logovač pro Elastic Search)?
Naivní implementace persistentních datových struktur je obecně pomalejší, ovšem moderní implementace čistě funkcionálních jazyků používají brutální optimalizace. Výsledný kód se často rychlostí blíží překládaným imperativním jazykům, ale míra optimalizace je dost nepředvídatelná, záleží na detailech, stačí nějaká déle žijící duplicitní reference někde hluboko ve stromové struktuře a z kódu se stane šnek. Nejnovější OCaml to asi dotáhl nejdále (vedle Haskellu). Poněkud pochopitelnější jsou optimalizace kolekcí ve Swiftu (viz isUniquelyReferenced).
Fakt záleží na tom, co se přesně má dělat. Řekl bych (ale bez měření), že pokud je tam ještě třeba validace JSONu vůči schématu, tak by to mělo být v Clojure rychlejší (validovat se bude až po deserializaci vůči Clj. schématu - což je IMHO mnohem lepší). Jinak Clojure není při delším běhu pomalé, spíš naopak. Jen tedy je hooodně problematický náběh, ostatně i REPL nabíhá šíleně dlouho (a je to problém).