This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-11-30
Channels
- # adventofcode (22)
- # announcements (7)
- # beginners (32)
- # calva (56)
- # cider (96)
- # cljdoc (7)
- # cljs-dev (50)
- # clojure (173)
- # clojure-austin (8)
- # clojure-brasil (7)
- # clojure-europe (10)
- # clojure-greece (2)
- # clojure-italy (10)
- # clojure-nl (9)
- # clojure-spec (18)
- # clojure-uk (143)
- # clojurebridge (3)
- # clojurescript (9)
- # cursive (14)
- # data-science (1)
- # datascript (4)
- # datomic (9)
- # docker (7)
- # emacs (2)
- # figwheel-main (4)
- # fulcro (18)
- # garden (1)
- # graphql (13)
- # hyperfiddle (4)
- # juxt (2)
- # off-topic (43)
- # pathom (1)
- # pedestal (17)
- # portkey (163)
- # re-frame (4)
- # reitit (7)
- # rum (4)
- # shadow-cljs (139)
- # spacemacs (5)
- # sql (14)
- # unrepl (2)
it seems that advanced + instrumentation is a lot faster than none + instrumentation even on Node:
Testing aos.y2017.d06.borkdude
part-1 took 1.000000 msecs
part-2 took 11597.000000 msecs
vs
Testing aos.y2017.d06.borkdude
part-1 took 7.792217 msecs
part-2 took 24212.637332 msecs
so yeah, keeping advanced instrumentation working has benefits I guessWith simple:
Testing aos.y2017.d06.borkdude
part-1 took 1.932100 msecs
part-2 took 26179.181678 msecs
Running again with advanced:
Testing aos.y2017.d06.borkdude
part-1 took 0.000000 msecs
part-2 took 11573.000000 msecs
The last two are based on https://github.com/borkdude/clojurescript/tree/CLJS-2995
since I needed a patch to run this puzzle.you can run it with: script/test-one aos.y2017.d06.borkdude
and tweak the compilation setting in cljs-opts.edn
One more time then: Advanced:
Testing aos.y2017.d06.borkdude
part-1 took 1.000000 msecs
part-2 took 11722.000000 msecs
Simple:
Testing aos.y2017.d06.borkdude
part-1 took 1.733057 msecs
part-2 took 25785.052031 msecs
None:
Testing aos.y2017.d06.borkdude
part-1 took 2.690667 msecs
part-2 took 19662.617326 msecs
Really can’t help it 🙂I don’t know about that. I’m using advanced builds with speculative and all the tests that assert that an fdef should throw work
Attached the patch for https://dev.clojure.org/jira/browse/CLJS-2995
is there a difference in metadata on clojure.test tests with none or advanced? my tests aren’t filtered properly with advanced
I'm curious if 3-way merges are OK for patch application. If you take https://dev.clojure.org/jira/browse/CLJS-2920 for example,
git am ~/Downloads/CLJS-2920-2.patch
will result in "patch does not apply", but instead the patch can apply if you use --3way
:
$ git am --3way ~/Downloads/CLJS-2920-2.patch
Applying: CLJS-2920: Optimize qualified- / simple- ident? / keyword? / symbol?
Using index info to reconstruct a base tree...
M src/main/cljs/cljs/core.cljs
Falling back to patching base and 3-way merge...
Auto-merging src/main/cljs/cljs/core.cljs
(If we convince ourselves that this is OK, it could reduce some amount of re-baselining.)Hey, @mfikes thanks for taking a look at CLJS-1888. I'm not sure if you looked at the patch or just checked that it passes. Any ideas on how best to have a cljc test or if this is even desired?
You may have noticed there is a metadata_test.cljc file which is used to confirm behaviour is correct across CLJ/CLJS but there is no real way to run this kind of thing currently, right?
@mfikes @dnolen don't want to stir up drama but why exactly are we not using github for CLJS? I can understand the argument for CLJ when the people involved there prefer the workflow but they are not involved in CLJS anymore (AFAICT). Why not switch to something more accessible?
Might be too late because of all the issue history in Jira but the migration doesn't have to happen overnight
@thheller re: not true, instrument
is intended to be fully advanced / fn optimization safe
Here is some work on datafy as it existed a while back https://dev.clojure.org/jira/browse/CLJS-2929
https://dev.clojure.org/jira/browse/CLJS-2968 might be nice to land on master at some point so that Canary can continue checking for GCC breaking things (right now it can’t) https://dev.clojure.org/jira/browse/CLJS-2956 seems like a straightforward blocker we could land on master
OK, datafy / nav is now on master, if that helps with anything else that might depend on it being there
I’m taking a quick look to see if anything has progressed on the Clojure side that we should add to datafy…
@mfikes the patch you mentioned that didn’t apply - I guess a 3-way didn’t work, so I need to rebase?
ClojureScript’s datafy looks good when comparing it to Clojure’s; one remaining bit will be to eliminate a little explcit code in there when we do CLJS-2996 “Support protocol extension by metadata”. (I’ve captured this as a note in that ticket.)