Commit graph

53 commits

Author SHA1 Message Date
Jeff Evans
9a34d381f2 Support bootstrap ClojureScript - #72
Adding self-host testing infrastructure and scripts (including tach
plugin)

Incorporating cgrand/macrovich plugin to separate macro definitions from usage in specter.cljc

Changing tests to use :require with :refer-macros to bring in cljs.test macros in cljs mode

Rewriting extend-protocolpath to use extend-protocol, which is available in cljs (extend is not)

Fixing ic-prepare-path implementation to use VarUse even in hosted mode (hardcoding the condition to false)

Various changes in test files to get them working in all three modes

In test, using correct symbol for inc depending on the environment
2020-10-22 14:02:17 -05:00
Jeff Evans
2e002c1270
Improve before-index performance #223 (#291)
Adding new protocol for performing the insert-before-idx operation, with
implementations for core collection types

Adding new functional test to confirm behavior when operating on a string

Adding benchmarks to compare new performance vs old implementation vs
core Clojure in a couple of cases
2020-09-17 15:15:42 -04:00
Peter Nagy (NPE)
fe1deb5195 use criterium for benchmarks, output JVM and clojure version 2018-12-13 12:54:28 +01:00
nathanmarz
d36b4340c3 move repl.clj to scripts 2017-06-12 12:29:49 -04:00
nathanmarz
5259e5df55 add cljs repl script 2017-06-08 17:58:38 -04:00
nathanmarz
8f30918d59 add transducer cases to map vals benchmarks 2017-06-06 15:12:57 -04:00
nathanmarz
dbf3f60167 add walker vs. old clojure.walk version benchmark 2017-06-03 18:23:13 -04:00
nathanmarz
ee56ddc1ab force ALL on lists to realize lazy sequence, fix benchmark 2017-04-11 11:58:52 -04:00
nathanmarz
b18a249623 improve performance of ALL transform on lists, add benchmark 2017-04-11 11:44:39 -04:00
nathanmarz
5e56a99163 add more benchmark cases 2017-02-28 16:23:10 -05:00
nathanmarz
cdbbd13939 add benchmark for prepending to a vector 2017-02-21 11:18:32 -05:00
nathanmarz
e7b595c4ca fix issue with NONE-ELEM on nil value 2017-02-17 17:54:11 -05:00
nathanmarz
b79a71decd Add BEFORE-ELEM, AFTER-ELEM, and NONE-ELEM navigators 2017-02-15 20:34:44 -05:00
nathanmarz
6d154799f9 add benchmark for getting first element of a vector 2017-02-12 12:13:13 -05:00
nathanmarz
a1073275c3 add assoc-in vs setval benchmark 2017-01-27 10:39:50 -05:00
Nathan Marz
390f00063c add benchmark case for multi-arity keypath 2016-11-07 07:47:56 -05:00
Nathan Marz
5162a23607 add benchmark for specialized select-any style composition 2016-09-07 10:01:30 -04:00
Nathan Marz
bafab264f5 more benchmark cases 2016-09-06 19:32:17 -04:00
Nathan Marz
2b9655b382 fix benchmark script 2016-09-06 10:44:36 -04:00
Nathan Marz
16446373f1 make terminal-val return a direct-nav, add another benchmark case 2016-09-02 20:20:49 -04:00
Nathan Marz
0a45b45e68 added specter dynamic nested get benchmark 2016-09-01 23:41:27 -04:00
Nathan Marz
ac3f604211 reformat code with parinfer 2016-08-11 10:13:27 -04:00
Nathan Marz
5e1f596e60 minor improvements to benchmarks, add benchmark running script 2016-08-06 02:22:51 -04:00
Nathan Marz
930724b85b add benchmark for multi-transform 2016-06-23 12:30:50 -04:00
Nathan Marz
d0331c9afe new benchmark cases, reduce benchmark iterations 2016-06-17 12:56:33 -04:00
Nathan Marz
4778500e03 more benchmarks for map-vals 2016-06-15 12:23:03 -04:00
Nathan Marz
356dd1d03e improve map-vals benchmark 2016-06-15 11:02:07 -04:00
Nathan Marz
6707ae33c9 benchmark updates 2016-06-15 10:31:59 -04:00
Nathan Marz
db08499eaf include #iters in benchmark output 2016-06-15 09:31:24 -04:00
Nathan Marz
f9e6b621a9 upgrade to clojure 1.7.0 for reducers 2016-06-09 23:19:12 -04:00
Nathan Marz
f605167a53 implement traverse 2016-06-09 23:19:11 -04:00
Nathan Marz
4565a7e7d6 fail cljs build on any warnings, eliminate warning about com.rpl.specter.transient namespace by renaming to transients 2016-06-09 08:06:17 -04:00
Nathan Marz
9045e13386 merge 2016-06-08 13:58:15 -04:00
Nathan Marz
65da1056d5 increase benchmark iterations 2016-06-08 13:43:01 -04:00
Alex Engelberg
21e6289c64 Add benchmark to compare to vary-meta 2016-06-08 08:25:16 -07:00
Alex Engelberg
fbb7a17197 Add META navigator, test case, and benchmarks 2016-06-08 08:18:10 -07:00
Nathan Marz
3d84d288d1 fix typo in readme 2016-06-08 09:40:53 -04:00
Nathan Marz
50c176ba48 reinstate one-at-at-time vector append benchmark 2016-06-08 06:57:15 -04:00
Nathan Marz
8231cd654f benchmark keypath alongside direct keyword navigation 2016-06-08 06:11:21 -04:00
Nathan Marz
82321d7370 isolate desired operations to test in transient benchmarks and make the comparisons work on identical data, add transient namespace for doc generation 2016-06-08 06:02:41 -04:00
Nathan Marz
49957f2536 Merge pull request #107 from aengelberg/transient-navigators
Transient navigators
2016-06-08 05:48:51 -04:00
Alex Engelberg
bafe10036f Add benchmarks to test transient navigators 2016-06-07 23:16:23 -07:00
Nathan Marz
0f475ddba3 merge in optimizations to END 2016-06-07 16:11:21 -04:00
Nathan Marz
5161f6dfbf optimize END for vectors 2016-06-07 16:07:01 -04:00
Nathan Marz
e76363c532 more docstrings and benchmarks 2016-06-07 10:18:20 -04:00
Nathan Marz
88a79e3d77 add docstrings for new API elements 2016-06-07 09:40:14 -04:00
Nathan Marz
a4c941b744 cljs compatible 2016-06-07 00:49:52 -04:00
Nathan Marz
68ac32ef56 optimize if-path and selected? for non basic fn case 2016-06-06 21:30:14 -04:00
Nathan Marz
f3bf935509 new semantics for select* for increased performance, new select-any operation with maximal query performance, needs more tests 2016-06-06 20:29:45 -04:00
Nathan Marz
ae98aa48ba add specialized MAP-VALS navigator to circumvent the unavoidable overhead of [ALL LAST] 2016-06-06 16:03:08 -04:00