This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-05-19
Channels
- # announcements (12)
- # aws (17)
- # babashka (6)
- # beginners (40)
- # cider (14)
- # cljs-dev (14)
- # cljsrn (8)
- # clojure (110)
- # clojure-europe (46)
- # clojure-italy (1)
- # clojure-nl (4)
- # clojure-spec (14)
- # clojure-sweden (3)
- # clojure-uk (29)
- # clojurescript (52)
- # conjure (68)
- # cursive (33)
- # datomic (9)
- # figwheel-main (11)
- # fulcro (97)
- # ghostwheel (1)
- # graalvm (2)
- # helix (53)
- # hoplon (13)
- # joker (6)
- # kaocha (1)
- # leiningen (2)
- # meander (28)
- # mid-cities-meetup (1)
- # observability (1)
- # off-topic (112)
- # pathom (6)
- # pedestal (3)
- # re-frame (16)
- # reagent (16)
- # reitit (2)
- # shadow-cljs (27)
- # spacemacs (2)
- # sql (26)
- # testing (3)
- # utah-clojurians (3)
- # vim (2)
- # xtdb (32)
@smt Thats a good question, I really adore functional programming and was looking for a more "suitable" world to work in, I mean, JavaScript is good, but it's not OOP nor FOP, it's somewhere in between, and that makes it inconsistent and having some weird quirks when attempting to extract the Functional side of it. I always was fascinated by LISP and wished to work with any LISP dialect full time, now, I can, thanks to ClojureScript. I'm just deeply in love with Functional Programming, I find it way stronger than OOP, much more sophisticated and requires more programming skills Per se.
@lilactown Do you know how helix
performs vs reagent
?
@eliraz.kedmi157 there are benchmarks but no follow up yet https://krausest.github.io/js-framework-benchmark/current.html
that's rather surprising, I expected ClojureScript's output to be faster / same at least as React is
true. it also depends on the implementation itself. I saw how core.async can be a beast of performance, while changing the call times can result awful results
however it seems like inferno
is the winner by a large margin (of those React like libraries, including React itself)
personally, I don't find any useful information in that table, it's way too big, what are we actually comparing and for what purpose?
that benchmark suggests that clojurescript
is even slower than angular 1.7
.. that's a bit crazy
In any case I would do my own benchmarks, and measure the feel of the app, not just some numbers.
unfortunately, it’s rare for people to get paid to create good good benchmarks 😞 they’re quite labor intensive
it's extremely hard to benchmark anything reliably in any jit compiler without full scale application
and that usually means hardcore instrumentation of full browser environments, in the case of javascript, or at least some kind of v8 or d8 run
I used to do it for something much more simple, and it was very easy to get some result and it turns out that it's just an artifact of the setup
and this is before even actually talking about writing separate implementations for the things you are comparing to each other in a way that it's both idiomatic and not obviously wrong, but it does use available tools for performant code where a knowledgeable developer would do so - which means in depth knowledge of all the things you are measuring. which was still not too much, but then I got fed up with benchmark.js and its api
put some work in today to update the helix benchmark: https://github.com/krausest/js-framework-benchmark/pull/734
Not sure I would consider mutable state in build-data too idiomatic. Maybe go with a transient instead?
I personally find transients less idiomatic than using JS arrays for perf-critical code but that’s probably just my experience
Your code is written in a way that would perfectly suit transients fwiw. It would drop in.