Fork me on GitHub
#funcool
<
2019-09-30
>
ikitommi05:09:24

btw, did an better data structure for the Java->Clojure request copying, pohjavirta used derived-map from Potemin, like Aleph, which is cheap to create but really slow to read. With the new PartialCopyRequest, the time spent in Clojure side dropped from 600ns to 160ns. Now pohjavirta+jsonista+promesa json endpoint slings 140k request/sec on my macbook.

❤️ 4
👏 4
ikitommi06:10:59

@niwinz TFB results are out. With this, Clojure is now faster than any of the Java entries. Most likely because: almost zero-penalty for using Clojure, fast(er?) routing, Java8 (better throughput than 11 that others use), good JVM opts. Only c++, c and rust entries are faster, and less than 2%.

ikitommi06:10:11

also, will add a protocol to access the request, will make reading single headers an order of magnitude faster. This could also be used with the vert.x mapping…

👍 4
niwinz07:10:35

so nice results!

niwinz08:10:36

im on my vacations, but when i come back, i go to look into the details and probably use the same approach for vertx binding

niwinz11:09:30

@ikitommi btw, nice talk con clojuretre

4
ikitommi06:10:59

@niwinz TFB results are out. With this, Clojure is now faster than any of the Java entries. Most likely because: almost zero-penalty for using Clojure, fast(er?) routing, Java8 (better throughput than 11 that others use), good JVM opts. Only c++, c and rust entries are faster, and less than 2%.