Fork me on GitHub
#clr
<
2023-02-12
>
dmiller22:02:44

Two more posts on ClojureCLR.Next. https://dmiller.github.io/clojure-clr-next/general/2023/02/12/PersistentVector-part-1.html https://dmiller.github.io/clojure-clr-next/general/2023/02/12/PersistentVector-part-2.html These were rough. The first one is not very interesting. The second one is a tough going. But PersistentVector is fully implemented with a good set of tests. I'll write one more post on it regarding transience in Clojure data structures. I plan to do some benchmarking to make to see if I'm doing anything in F# that leads to a decrease in performance compared to the C# version. I'll report on that when it's done.

clapping 10
clojure-spin 5
🔥 5
bobcalco16:02:48

I do recall transients in ClojureCLR being measurably slower compared to the JVM implementation in some previous version of ClojureCLR, and I think you may remember my pointing that out at some point. It was anecdotal at the time, just using the example given to explain what transients are at the clojure site; I haven't tested them recently.

dmiller16:02:03

I've been benchmarking the PersistentVector code. I'll be writing it up. I made one small change and got nth a little improvement. it is faster than my original C# on small vectors. Cons is a tad slower -- can't figure it out. Transients are same speed. however, I'm not benchmarking against ClojureJVM, just new F# against old C#.