Skip to content

Instantly share code, notes, and snippets.

@hohonuuli
hohonuuli / scala3_microservices_autocannon1_results.csv
Last active September 25, 2021 22:33
Statistics for Medium Article on Scala 3 microservice benchmarks - autocannon1
Metric Cask Helidon http4s Javalin Scalatra Spark Java Vert.x Web ZIO Http
autocannon 1
latency (ms) 88.24 85.73 117.73 110.23 92.85 87.15 144.81 82.97
latency std (ms) 27.12 20.05 50.39 57.82 15. 36.8 6.49 23.6
requests/sec 11258.4 11579.2 9860.5 9362.8 10766.8 11433.6 6862.4 11961.6
requests/sec std 650.2 313.8 454.5 669.11 476.44 344.42 105.55 244.63
transfer/sec (MB) 94.85 97.23 82.78 77.46 90.28 96.64 57.30 100.37
transfer/sec std 5.48 2.62 3.82 5.53 4.00 2.90 0.88 2.05
relative transfer % 94.5 96.9 82.5 77.2 89.9 96.3 57.1 100
@hohonuuli
hohonuuli / scala3_microservices_wrk2_results.csv
Last active September 26, 2021 18:40
Statistics for Medium Article on Scala 3 microservice benchmarks - wrk2
Framework latency_ms latency_ms_std requests_sec mb_sec pct_max
Cask 61.76 7.16 4022.49 33.89 58.1
Helidon 57.33 7.45 4333.65 36.39 62.4
http4s 65.57 75.05 3928.46 32.98 56.6
Javalin 82.35 21.99 2959.23 24.48 42.0
Scalatra 58.34 3.88 4253.52 35.67 61.2
SparkJava 59.90 27.87 3347.74 28.30 48.6
Vert.xWeb 35.61 1.25 6980.19 58.29 100
ZIOHttp 57.03 6.46 4346.36 35.47 60.9
@hohonuuli
hohonuuli / scala3_microservice_wrk1_results.csv
Last active September 26, 2021 00:05
Statistics for Medium Article on Scala 3 microservice benchmarks - wrk1
Framework latency_ms latency_ms_std requests_sec mb_sec pct_max
Cask 22.15 4.72 11221.20 94.55 92.6
Helidon 21.25 3.39 11698.15 98.23 96.2
http4s 24.75 26.02 10460.28 87.82 86.1
Javalin 29.01 28.36 8765.20 72.52 71.1
Scalatra 21.97 2.25 11274.22 94.54 92.5
Spark Java 22.82 23.59 11273.21 95.29 93.4
Vert.x Web 36.75 3.50 6765.11 56.49 55.3
ZIO Http 20.42 1.59 12162.62 102.06 100
@hohonuuli
hohonuuli / TrackService.scala
Last active June 18, 2021 18:25
Example using GraphQL.scala
package org.mbari.vaa.tv.graphql
import io.circe._
import io.circe.parser._
import okhttp3._
import org.mbari.vaa.tv.domain.CirceCodecs.{given}
import org.mbari.vaa.tv.domain.Track
import java.util.UUID
import scala.concurrent.{ExecutionContext, Future}
@hohonuuli
hohonuuli / GraphQL.scala
Last active June 18, 2021 18:25
GraphQL support class for Scala
import io.circe._
import io.circe.parser._
import okhttp3._
import scala.concurrent.{ExecutionContext, Future}
import scala.util.Using
/**
* @author Brian Schlining
*/
object GraphQL {
concept,image,x,y,width,height
Nanomia bijuga,http://dsg.mbari.org/path/image.png,10,20,30,40
Rock,http://dsg.mbari.org/path/image.png,21,22,23,24
@hohonuuli
hohonuuli / VocParser.scala
Last active March 15, 2021 23:57
Scala VOC parser. For Medium article
import scala.xml.Elem
object VocParser {
def parse(xml: Elem): Voc = {
val filename = (xml \ "filename").text
val objects = xml \ "object"
val vocObjects = objects.map(n => {
val name = (n \ "name").text
// VOC is 1-based index. Convert to 0 based.
@hohonuuli
hohonuuli / VOC.scala
Last active March 15, 2021 23:51
Pascal VOC modeled in Scala. For medium article
case class Voc(
filename: String,
objects: Seq[VocObject] = Nil
)
case class VocObject(
name: String,
xmin: Int,
ymin: Int,
xmax: Int,
@hohonuuli
hohonuuli / pascal_vox_sample.xml
Last active March 16, 2021 00:00
Example Pascal VOC file
<annotation>
<filename>left_2019-11-04T16.59.22.762426Z.jpg</filename>
<object>
<name>Outer filter</name>
<bndbox>
<xmin>738</xmin>
<ymin>39</ymin>
<xmax>831</xmax>
<ymax>130</ymax>
</bndbox>
@hohonuuli
hohonuuli / CirceDemo.sc
Created January 17, 2021 21:35
Example for medium article on Circe
#!/usr/bin/env amm
import $ivy.`io.circe::circe-core:0.13.0`
import $ivy.`io.circe::circe-generic:0.13.0`
import $ivy.`io.circe::circe-parser:0.13.0`
import io.circe._
import io.circe.generic.semiauto._
import io.circe.parser._
import io.circe.syntax._