addamsson
07/21/2019, 5:29 PMaddamsson
07/21/2019, 5:30 PMsimon.vergauwen
07/21/2019, 7:10 PMaddamsson
07/22/2019, 7:25 AMaddamsson
07/22/2019, 7:25 AMassoc-in
in clojuresimon.vergauwen
07/22/2019, 7:27 AMsimon.vergauwen
07/22/2019, 7:28 AMaddamsson
07/22/2019, 7:57 AMaddamsson
07/22/2019, 7:58 AMsimon.vergauwen
07/22/2019, 7:58 AMRef
in Arrow Fx 🙂addamsson
07/22/2019, 7:59 AMsimon.vergauwen
07/22/2019, 8:00 AMaddamsson
07/22/2019, 8:19 AMsimon.vergauwen
07/22/2019, 8:20 AMcopy
to update immutable fields and copy
gets generated by the compiler.simon.vergauwen
07/22/2019, 8:20 AMwhen
which is equivalent to TABLE_SWITCH
so super fastsimon.vergauwen
07/22/2019, 8:22 AMFold
or Traversal
can be derived from Foldable
and Traverse
so they always should be the highest performing.simon.vergauwen
07/22/2019, 8:22 AMsimon.vergauwen
07/22/2019, 8:23 AMsimon.vergauwen
07/22/2019, 8:24 AMsimon.vergauwen
07/22/2019, 8:32 AMhow about performance?Or did you mean something else?
addamsson
07/22/2019, 9:12 AMaddamsson
07/22/2019, 9:12 AMaddamsson
07/22/2019, 9:12 AMsimon.vergauwen
07/22/2019, 9:12 AMAtomicReference
. And for MPP we’ll wrap kotlinx.atomicfu which is also a simply a typealiased AtomicReference
for Java.simon.vergauwen
07/22/2019, 9:17 AMi’m interested in the performance characteristics of ref vs actor or simple thread confinementOh, that’s more related to architecture than it’s related to individual building blocks of Arrow. In Arrow Fx you’ll typically find all low level building blocks but in the context of
F
. Ref
is AtomicReference
, Promise
has many use-cases but a good example is that you can use it as a latch to do synchronisation and Semaphore
. So it’s all low level building blocks concurrency people are typically familiar with.simon.vergauwen
07/22/2019, 9:42 AMsimon.vergauwen
07/22/2019, 9:43 AMaddamsson
07/22/2019, 11:55 AMaddamsson
07/22/2019, 11:55 AMactor
but its performance is abysmaladdamsson
07/22/2019, 11:55 AMaddamsson
07/22/2019, 11:55 AMsimon.vergauwen
07/22/2019, 11:55 AMactor
implementation on top of IO
and concurrency tools in Arrowaddamsson
07/22/2019, 11:56 AMaddamsson
07/22/2019, 11:56 AMaddamsson
07/22/2019, 11:56 AMsimon.vergauwen
07/22/2019, 11:56 AMsimon.vergauwen
07/22/2019, 11:57 AMQueue
, Ref
and Promise
. Where you basically have a Queue
of Promise
and you can take
in the actor to act on a message and you can put
in the Queue
to send a message.addamsson
07/22/2019, 11:57 AMaddamsson
07/22/2019, 11:58 AMaddamsson
07/22/2019, 11:58 AMEval
addamsson
07/22/2019, 11:58 AMaddamsson
07/22/2019, 11:58 AMaddamsson
07/22/2019, 11:58 AMsimon.vergauwen
07/22/2019, 11:59 AMaddamsson
07/22/2019, 11:59 AMaddamsson
07/22/2019, 12:00 PMaddamsson
07/22/2019, 12:00 PMsimon.vergauwen
07/22/2019, 12:07 PMaddamsson
07/22/2019, 12:08 PM