From ec9a26f26fd7a87b63e2be5c20ba02af825c70f2 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Mon, 10 May 2021 11:21:52 +0200 Subject: [PATCH] Update README --- README.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 030defa..5c54c6d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# A surprisingly fast Actor library for Java +# A surprisingly fast, surprisingly simple Actor library for Java As part of my research work on [Syndicate](https://syndicate-lang.org), in 2020 I built this simple @@ -12,6 +12,8 @@ with an actor. Actors are thus similar to E's *vats*. So far, I've limited myself to implementing a straightforward Actor system, not including Dataspace or Syndicate primitives. +## Surprisingly fast + It's quite interesting all by itself, though: it's *very* fast and able to use all the cores in a machine very effectively. For example: @@ -35,6 +37,28 @@ Here's that same benchmark run on a single core: That's just over 3 million messages per second on a single core. Neat, huh? +## Surprisingly simple + +It's also only ~730 lines of code: + +``` +~/src/syndicate-java$ cloc src/main/java/ + 12 text files. + 12 unique files. + 0 files ignored. + +github.com/AlDanial/cloc v 1.86 T=0.01 s (965.7 files/s, 69128.5 lines/s) +------------------------------------------------------------------------------- +Language files blank comment code +------------------------------------------------------------------------------- +Java 12 126 6 727 +------------------------------------------------------------------------------- +SUM: 12 126 6 727 +------------------------------------------------------------------------------- +``` + +## Next steps + Next steps are to implement proper Dataspace model entities, with assertions and facets etc., and then build an actual Dataspace to go with it. I'll be trying to reuse as much of this implementation style