Skip to content
This repository was archived by the owner on Nov 5, 2024. It is now read-only.

iRevive/fmq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

806f830 · Jan 11, 2023
Jul 14, 2022
Nov 22, 2021
Jun 7, 2022
Nov 5, 2021
Nov 22, 2021
May 12, 2021
Jan 11, 2023
Apr 6, 2020
May 12, 2021
Jan 11, 2023
Nov 14, 2019
Nov 5, 2021
Nov 5, 2021

Repository files navigation

ƒMQ

Build Status codecov fmq-core Scala version support

Functional bindings for ZeroMQ built-in on top of cats-effect and JeroMQ.

Quick Start

To use ƒMQ in an existing SBT project with Scala 2.13 or a later version, add the following dependency to your build.sbt:

libraryDependencies += "io.github.irevive" %% "fmq-core" % "<version>"

Usage Guide

Check the official guide for additional information.

Supported protocols

  • TCP
  • InProc

Sockets matrix

Socket Can publish Can receive
Pub true false
Sub false true
XPub true true
XSub true true
Pull false true
Push true false
Rep true true
Req true true
Router true true
Dealer true true

Benchmarks

ƒMQ provides an acceptable message throughput in comparison to the native implementation.

ƒMQ msgs/s:

Message size (bytes) Throughput
128 1960737
256 1511724
512 862353
1024 498450

ØMQ msgs/s:

Message size (bytes) Throughput
128 3885802
256 2689235
512 1598083
1024 867274

Hardware:
MacBook Pro (15-inch, 2016)
2,6 GHz Quad-Core Intel Core i7
16 GB 2133 MHz LPDDR3