Hi Thomas, thanks for the perf tips! I will give them a shot. I need to setup some benchmark page too so that is the perfect opportunity.
Cheers, Julien 2014-12-09 19:32 GMT-03:00 Thomas Heller <[email protected]>: > I've been using my own DOM library for a while now which always was fast > enough for me. > > I started a new-ish implementation for my react/om experiments and I > started using a simple memoization trick to do the "parsing" bit at most > once. Basically its just (pseudo-ish code, not the actual code) > > (defn dom-fn* [kw] > (let [[tag id class] (parse-dom-tag kw)] > (fn [] (create-element tag id class))) > > (def dom-fn (memoize dom-fn*)) > > Trades the parsing bits for one map lookup and one extra function > invocation, seems promising performance wise but too early to tell. Macro > proved very difficult when I tried it because of the nesting of runtime > components which you still need an interpreter for anyways. > > Also you don't need to use a regexp to parse the :div.something.other a > simple replace "." with " " yields "something other" which looks alot like > the class string you want. You can translate that in one single loop over > the source string which is faster than a regexp but I never did a real > benchmark, it seemed fast enough. ;) > > Maybe these ideas are useful for your library as well, but consider them > half-baked. I don't have anything to show for it yet. :P > > Cheers, > /thomas > > On Tuesday, December 9, 2014 10:09:40 PM UTC+1, Julien Eluard wrote: > > Hi Dave, > > > > > > dommy removed the templating support from its latest release. In fact > hipo is based on the dommy code and try to push it further. > > > > > > I am not aware of another library that creates DOM nodes from hiccup > using macro to reduce the cost of hiccup parsing . See the original dommy > blog post for some context: > http://blog.getprismatic.com/the-magic-of-macros-lighting-fast-templating-in-clojurescript/ > > > > > > Cheers, > > Julien > > > > > > 2014-12-09 17:56 GMT-03:00 Dave Sann <[email protected]>: > > can you give a few words as to what is different and why dommy or other > similar libs did not meet your needs? > > > > > > > > Dave > > > > > > > > -- > > > > Note that posts from new members are moderated - please be patient with > your first post. > > > > --- > > > > You received this message because you are subscribed to the Google > Groups "ClojureScript" group. > > > > To unsubscribe from this group and stop receiving emails from it, send > an email to [email protected]. > > > > To post to this group, send email to [email protected]. > > > > Visit this group at http://groups.google.com/group/clojurescript. > > -- > Note that posts from new members are moderated - please be patient with > your first post. > --- > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/clojurescript. > -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
