Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update benchmarks to use Scala 2.12 or 2.13 #242

Merged
merged 125 commits into from
Apr 27, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
c7e591b
Update sbt to version 1.3.13
lbulej Sep 28, 2020
d93e675
Update scalafmt in root project to version 2.4.2
lbulej Sep 28, 2020
28670cc
Remove unused renaissanceScalaVersion setting from the root project
lbulej Sep 28, 2020
5d9820c
Update filtering hint in root build.sbt
lbulej Sep 28, 2020
0967934
Update scalafmt in renaissance-core to version 2.4.2
lbulej Sep 28, 2020
8b6b5ea
Update scalafmt in renaissance-harness to version 2.4.2
lbulej Sep 28, 2020
b6f4cfe
Update scala in renaissance-harness to version 2.13.3
lbulej Sep 28, 2020
1b71f2b
Update scalafmt in benchmarks/dummy to version 2.4.2
lbulej Sep 28, 2020
6bc8128
Update scalafmt in benchmarks/jdk-concurrent to version 2.4.2
lbulej Sep 28, 2020
183bea0
Update scala in benchmarks/jdk-concurrent to 2.13.3
lbulej Sep 28, 2020
bb9db36
Update scalafmt in benchmarks/jdk-streams to version 2.4.2
lbulej Sep 28, 2020
6aaf72d
Update scala in benchmarks/jdk-concurrent to version 2.13.3
lbulej Sep 28, 2020
b99b67e
Update scalafmt in benchmarks/scala-stdlib to version 2.4.2
lbulej Sep 28, 2020
966a47e
Update scala in benchmarks/scala-stdlib to version 2.13.3
lbulej Sep 28, 2020
ffe7f18
Clean up code style in ScalaKmeans
lbulej Sep 28, 2020
d7ded63
Update scalafmt in benchmarks/actors to version 2.4.2
lbulej Sep 28, 2020
2e1f5de
Update scala in benchmarks/actors to version 2.11.12
lbulej Sep 28, 2020
00ce5dd
Clean up minor Scala coding style issues in benchmarks/actors
lbulej Sep 28, 2020
6a2d40a
Update scalafmt in benchmarks/scala-dotty to version 2.4.2
lbulej Sep 28, 2020
b369a65
Clean up minor Scala coding style issues in benchmarks/scala-dotty
lbulej Sep 28, 2020
82a56e1
Update scala in benchmarks/scala-dotty to version 2.12.12
lbulej Sep 28, 2020
aa5f08b
Clean up minor Scala coding style issues in benchmarks/scala-dotty
lbulej Sep 28, 2020
c54dd9b
Update scalafmt in benchmarks/rx to version 2.4.2
lbulej Sep 28, 2020
5d16e2a
Update scala in benchmarks/rx to version 2.13.3
lbulej Sep 28, 2020
757db94
Clean up minor Scala coding style issues in benchmarks/rx
lbulej Sep 28, 2020
dfcebb4
Update scalafmt in benchmarks/neo4j to version 2.4.2
lbulej Sep 29, 2020
a309eba
Revert "Update filtering hint in root build.sbt"
lbulej Nov 4, 2020
ce563ee
Update filtering hint in build.sbt
lbulej Nov 4, 2020
e0d745c
Add a note about neo4j incompatibility with Scala 2.12 (for now)
lbulej Nov 4, 2020
b90cf5c
Enable config-style argument formatting in Scala
lbulej Nov 4, 2020
e09739c
Update scalafmt in benchmarks/scala-stm to version 2.4.2
lbulej Nov 10, 2020
78b569f
Update scala in renaissance-harness to version 2.13.4
lbulej Nov 24, 2020
a341cb6
Update Scala in scala-dotty to version 2.13.4
lbulej Nov 24, 2020
2941cef
Bump Scala to 2.13.4 in benchmarks that were moved to 2.13.3
lbulej Nov 24, 2020
e87404b
Bump Scala version in scala-stm to 2.12.12
lbulej Nov 24, 2020
872b14d
Update scalafmt in benchmarks/scala-sat to version 2.4.2
lbulej Nov 24, 2020
3940837
Update Scala version in benchmarks/scala-sat to version 2.11.12
lbulej Nov 24, 2020
b1f1234
Use downloaded scala-smtlib dependency instead of building it
lbulej Nov 24, 2020
bbb765f
Update Scala version in benchmarks/scala-sat to 2.12.12
lbulej Nov 24, 2020
a872f8b
Update CafeSat to Scala 2.13, scalatest 3.0.9, and smtlib 0.2.1-git
lbulej Nov 27, 2020
e63ac77
Update scala-smtlib to 0.2.1-git and Scala 2.13
lbulej Nov 27, 2020
412b748
Don't use Array.deep in validation
lbulej Nov 27, 2020
c97a2fc
Update Scala version in benchmarks/scala-sat to 2.13.4
lbulej Nov 27, 2020
6c4a013
Update sbt.version in build.properties for plugins
lbulej Dec 1, 2020
01b5bfb
Fix formatting due to updated scalafmt
lbulej Dec 1, 2020
d6e97f0
Add scalafmt to the root metaproject
lbulej Dec 1, 2020
e6bb98e
Update sbt.version in the root project
lbulej Dec 1, 2020
d7fe59c
Filter out benchmarks that still need updating for now
lbulej Dec 1, 2020
d6015bf
Update scalafmt in benchmarks/apache-spark to version 2.4.2
lbulej Jan 10, 2021
7bb5965
Update Scala to 2.12.12 and Spark to 2.4.7 in benchmarks/apache-spark
lbulej Jan 10, 2021
ac298a2
Update Spark to 3.0.1 in benchmarks/apache-spark
lbulej Jan 11, 2021
cb4360e
Update scalafmt in benchmarks/twitter-finagle to version 2.4.2
lbulej Jan 11, 2021
dae9ae1
Update dependencies for benchmarks/twitter-finagle
lbulej Jan 11, 2021
b866bd5
Update Scala to 2.12.12 in benchmarks/twitter-finagle
lbulej Jan 11, 2021
9863b24
Fix formatting due to updated scalafmt
lbulej Jan 11, 2021
efc4984
Update build.sbt to only exclude database benchmarks
lbulej Jan 11, 2021
a4e6ec8
Update scalafmt in benchmarks/database to version 2.4.2
lbulej Jan 11, 2021
b09e9b2
Update Scala to 2.13.4 in benchmarks/database
lbulej Jan 11, 2021
19298a1
Remove temporary benchmark filter from build.sbt
lbulej Jan 11, 2021
39df575
Remove build.properties with sbt.version from benchmark subprojects
lbulej Jan 11, 2021
4eb23ad
Prepare Dotty benchmark for batch compilation of other sources
lbulej Jan 12, 2021
e35ef7b
Separate benchmark group from benchmark project
lbulej Feb 2, 2021
bc40007
Split akka-uct and reactors into separate projects
lbulej Feb 2, 2021
1050d32
Update akka-uct to akka-actor 2.6.12 and Scala 2.13.4
lbulej Feb 2, 2021
94fe89d
Remove workarounds for Scala 2.11 from akka-uct
lbulej Feb 2, 2021
10a15ae
Remove Scala 2.11 annotation workarounds for updated benchmarks
lbulej Feb 2, 2021
ff3ca25
Create scratch directory in the current directory by default
lbulej Feb 3, 2021
a6d96e5
Log module loading notification at "fine" level
lbulej Feb 3, 2021
fb8d1c2
Remove obsolete notes from build.sbt in actors-akka
lbulej Feb 3, 2021
6c1ef32
Remove redundant taskKey from build.sbt in renaissance-core
lbulej Feb 3, 2021
ff6667c
Merge branch 'master'
lbulej Feb 15, 2021
58881f1
Merge branch 'topic/update-scala-sbt'
lbulej Feb 15, 2021
c1e99e1
Merge branch 'topic/independent-groups'
lbulej Feb 15, 2021
0240af4
Import sanitized version of reactors.io
lbulej Mar 21, 2021
39f13dd
Update actors-reactors to Scala 2.12.13
lbulej Mar 21, 2021
1a0e78f
Update SBT to 1.4.8
lbulej Mar 21, 2021
e25cdc9
Simplify .sbt files in scala-sat
lbulej Mar 21, 2021
b99e6ad
Update some .gitignore entries to explicitly target directories
lbulej Mar 21, 2021
0068f57
Get project jars from dependencyClasspathAsJars
lbulej Mar 21, 2021
bbded87
Merge branch 'topic/separate-actors'
lbulej Mar 21, 2021
c09d877
Bump benchmarks using Scala 2.13 to Scala 2.13.5
lbulej Mar 21, 2021
923b75c
Format build.sbt in actors-reactors
lbulej Mar 21, 2021
04bd27b
Add support for scratch directories to core and harness
lbulej Apr 6, 2021
bb33da0
Refactor neo4j-analytics and move to neo4j 4.2 API
lbulej Apr 6, 2021
e222a10
Update Scala to 2.12.13 in benchmarks/neo4j
lbulej Apr 6, 2021
86d4f9f
Update JMH wrapper to implement scratchDirectory() in BenchmarkContext
lbulej Apr 6, 2021
b57868c
Update .gitignore to ignore scratch directories
lbulej Apr 6, 2021
40265f5
Bump benchmarks using Scala 2.12 to Scala 2.12.13
lbulej Mar 22, 2021
dcb2337
Remove annotation workaround for old Scala in actors-reactors
lbulej Mar 22, 2021
8a1d563
Fix SBT project name in benchmarks/rx
lbulej Apr 6, 2021
5255625
Explain the default for scratch base in harness/Config.scala
lbulej Apr 6, 2021
5feee58
Use parseInt() instead of valueOf() to parse an integer
lbulej Apr 6, 2021
ad15abc
Update launcher to support --scratch-base and --keep-scratch
lbulej Apr 6, 2021
7ecdf8f
Avoid installation-specific benchmark output in neo4j
lbulej Apr 6, 2021
be9ae44
Update CLI option descriptions and regenerate README.md
lbulej Apr 6, 2021
0d6b14f
Don't use Java 11 Path.of(), use Paths.get() instead
lbulej Apr 6, 2021
fa348f8
Restrict Java code in core and harness to version 1.8
lbulej Apr 19, 2021
8a05761
Add support for @RequiredJvm and @SupportedJvm annotations
lbulej Apr 19, 2021
afaaf2d
Limit supported JVM version for neo4j-analytics
lbulej Apr 19, 2021
feaa781
Add CLI support associated with benchmark compatibility checking
lbulej Apr 19, 2021
94f15a3
Add build support for collecting benchmark version requirements
lbulej Apr 19, 2021
a1f4a09
Add (forgotten) comparable Version class
lbulej Apr 19, 2021
b4b0db4
Add support for benchmark compatibility checking in RenaissanceSuite
lbulej Apr 19, 2021
194abc6
Make Travis run only compatible benchmarks
lbulej Apr 19, 2021
ecda8a4
Use separate ModuleLoader instances instead of static methods
lbulej Apr 19, 2021
90f3bdb
Update JMH wrapper to use ModuleLoader instance
lbulej Apr 19, 2021
ad46d31
Update README.md
lbulej Apr 19, 2021
338814b
Update JMH wrapper to survive incompatible benchmarks (if enabled)
lbulej Apr 19, 2021
0e62160
Fix ScalaDoku package specifier
lbulej Apr 21, 2021
4f66c8d
Rephrase a few comments in ScalaDoku
lbulej Apr 21, 2021
6cd8805
Add comment regarding scala3 compiler to scala-dotty build file
lbulej Apr 21, 2021
1d6b445
Use idiomatic initializers in DbShootout
lbulej Apr 21, 2021
d0eb88f
Unify exception messages in BenchmarkInfo
lbulej Apr 21, 2021
0da282e
Remove unsupported method from BenchmarkContext
lbulej Apr 21, 2021
df0b4a4
Rework access to benchmark parameters
lbulej Apr 21, 2021
f06aaf2
Update all benchmarks to use the BenchmarkParameter interface
lbulej Apr 21, 2021
40a8b7f
Make resource path explicit at declaration in Dotty
lbulej Apr 21, 2021
a999e6b
Update classpath-related comment in Dotty
lbulej Apr 21, 2021
8030d73
Update README.md generator to list JVM version requirements
lbulej Apr 21, 2021
235b425
Pick up a fix from scala-smtlib repo
lbulej Apr 21, 2021
6e1e762
Remove the --raw-list-compatible CLI option
lbulej Apr 22, 2021
a3128a3
Update Travis configuration to match the change in CLI options
lbulej Apr 23, 2021
3d17414
Use version relative to upstream master in cafesat
lbulej Apr 23, 2021
d23a38c
Update SBT to version 1.4.9
lbulej Apr 23, 2021
ddf9fcd
Update README.md
lbulej Apr 23, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
target
.idea
target/
.bsp/
.idea/
*.cfg
*.iml
tools/sbt/lib/local-preloaded/

# Scratch directories
harness-*/
launcher-*/
3 changes: 2 additions & 1 deletion .scalafmt.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ docstrings = JavaDoc
continuationIndent.callSite = 2
continuationIndent.defnSite = 2
continuationIndent.extendSite = 2
align = none
align.preset = none
align.openParenCallSite = false
align.openParenDefnSite = false
optIn.configStyleArguments = true
newlines.alwaysBeforeTopLevelStatements = true
rewrite.rules = [
SortModifiers
Expand Down
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ refs:
# Test benchmarks under Renaissance harness
- 'java -jar ./target/renaissance-gpl-$RENAISSANCE_VERSION.jar --raw-list >list.txt'
- 'for BENCH in $(cat list.txt); do echo "====> $BENCH"; java -Xms2500M -Xmx2500M -jar ./target/renaissance-gpl-$RENAISSANCE_VERSION.jar -c test -r 1 --csv output.csv --json output.json "$BENCH" || exit 1; done'
# Test benchmarks under JMH harness
- 'java -Xms2500M -Xmx2500M -jar ./renaissance-jmh/target/scala-2.12/renaissance-jmh-assembly-$RENAISSANCE_VERSION.jar -wi 0 -i 1 -f 1 -foe true'
# Test benchmarks under JMH harness, replacing incompatible benchmarks with 'dummy-empty'
- 'java -Xms2500M -Xmx2500M -Dorg.renaissance.jmh.fakeIncompatible=true -jar ./renaissance-jmh/target/scala-2.12/renaissance-jmh-assembly-$RENAISSANCE_VERSION.jar -wi 0 -i 1 -f 1 -foe true'

jobs:
include:
Expand Down
87 changes: 43 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,15 +73,19 @@ Usage: renaissance [options] [benchmark-specification]
--plugin <class-path>!<class-name>
Load external plugin. Can appear multiple times.
--with-arg <value> Adds an argument to the plugin or policy specified last. Can appear multiple times.
--csv <file-path> Output results to CSV file.
--json <file-path> Output results to JSON file.
-c, --configuration <name>
Run benchmarks with given named configuration.
--no-forced-gc Do not force garbage collection before each measured operation.
--list Print list of benchmarks with their description.
--raw-list Print list of benchmarks (each benchmark name on separate line).
--group-list Print list of benchmark groups (each group name on separate line).
benchmark-specification Comma-separated list of benchmarks (or groups) that must be executed (or all).
--csv <csv-file> Output results as CSV to <csv-file>.
--json <json-file> Output results as JSON to <json-file>.
-c, --configuration <conf-name>
Use benchmark parameters from configuration <conf-name>.
--scratch-base <dir> Create scratch directories in <dir>. Defaults to current directory.
--keep-scratch Keep the scratch directories after VM exit. Defaults to deleting scratch directories.
--no-forced-gc Do not force garbage collection before each measured operation. Defaults to forced GC.
--no-jvm-check Do not check benchmark JVM version requirements (for execution or raw-list).
--list Print the names and descriptions of all benchmarks.
--raw-list Print the names of benchmarks compatible with this JVM (one per line).
--group-list Print the names of all benchmark groups (one per line).
benchmark-specification List of benchmarks (or groups) to execute (or 'all').

```


Expand Down Expand Up @@ -314,41 +318,36 @@ while the MIT distribution includes only those benchmarks that themselves
have less restrictive licenses.

Depending on your needs, you can use either of the two distributions.
The following table contains the licensing information of all the benchmarks:

| Benchmark | Licenses | Renaissance Distro |
| ------------- | ------------- |:------------------:|
| akka-uct | MIT | MIT |
| als | APACHE2 | MIT |
| chi-square | APACHE2 | MIT |
| db-shootout | APACHE2 | MIT |
| dec-tree | APACHE2 | MIT |
| dotty | BSD3 | MIT |
| dummy-empty | MIT | MIT |
| dummy-failing | MIT | MIT |
| dummy-param | MIT | MIT |
| dummy-setup-failing | MIT | MIT |
| dummy-teardown-failing | MIT | MIT |
| dummy-validation-failing | MIT | MIT |
| finagle-chirper | APACHE2 | MIT |
| finagle-http | APACHE2 | MIT |
| fj-kmeans | APACHE2 | MIT |
| future-genetic | APACHE2 | MIT |
| gauss-mix | APACHE2 | MIT |
| log-regression | APACHE2 | MIT |
| mnemonics | MIT | MIT |
| movie-lens | APACHE2 | MIT |
| naive-bayes | APACHE2 | MIT |
| neo4j-analytics | GPL3 | GPL3 |
| page-rank | APACHE2 | MIT |
| par-mnemonics | MIT | MIT |
| philosophers | BSD3 | MIT |
| reactors | MIT | MIT |
| rx-scrabble | GPL2 | GPL3 |
| scala-doku | MIT | MIT |
| scala-kmeans | MIT | MIT |
| scala-stm-bench7 | BSD3, GPL2 | GPL3 |
| scrabble | GPL2 | GPL3 |
The following table contains the licensing information (and JVM version
requirements) for all the benchmarks:

| Benchmark | Licenses | Distro | JVM required (min) | JVM supported (max) |
| :--------------- | :--------- | :----: | :----------------: | :-----------------: |
| akka-uct | MIT | MIT | 1.8 | |
| als | APACHE2 | MIT | 1.8 | |
| chi-square | APACHE2 | MIT | 1.8 | |
| db-shootout | APACHE2 | MIT | 1.8 | |
| dec-tree | APACHE2 | MIT | 1.8 | |
| dotty | BSD3 | MIT | 1.8 | |
| finagle-chirper | APACHE2 | MIT | 1.8 | |
| finagle-http | APACHE2 | MIT | 1.8 | |
| fj-kmeans | APACHE2 | MIT | 1.8 | |
| future-genetic | APACHE2 | MIT | 1.8 | |
| gauss-mix | APACHE2 | MIT | 1.8 | |
| log-regression | APACHE2 | MIT | 1.8 | |
| mnemonics | MIT | MIT | 1.8 | |
| movie-lens | APACHE2 | MIT | 1.8 | |
| naive-bayes | APACHE2 | MIT | 1.8 | |
| neo4j-analytics | GPL3 | GPL3 | 11 | 15 |
| page-rank | APACHE2 | MIT | 1.8 | |
| par-mnemonics | MIT | MIT | 1.8 | |
| philosophers | BSD3 | MIT | 1.8 | |
| reactors | MIT | MIT | 1.8 | |
| rx-scrabble | GPL2 | GPL3 | 1.8 | |
| scala-doku | MIT | MIT | 1.8 | |
| scala-kmeans | MIT | MIT | 1.8 | |
| scala-stm-bench7 | BSD3, GPL2 | GPL3 | 1.8 | |
| scrabble | GPL2 | GPL3 | 1.8 | |


### Design overview
Expand Down
1 change: 1 addition & 0 deletions benchmarks/actors-akka/.scalafmt.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include "../../.scalafmt.conf"
11 changes: 5 additions & 6 deletions benchmarks/actors/build.sbt → benchmarks/actors-akka/build.sbt
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
lazy val renaissanceCore = RootProject(uri("../../renaissance-core"))

lazy val actors = (project in file("."))
lazy val actorsAkka = (project in file("."))
.settings(
name := "actors",
name := "actors-akka",
version := (version in renaissanceCore).value,
organization := (organization in renaissanceCore).value,
scalafmtConfig := Some(file(".scalafmt.conf")),
scalaVersion := "2.11.8",
scalaVersion := "2.13.5",
libraryDependencies ++= Seq(
"com.typesafe.akka" %% "akka-actor" % "2.3.11",
"io.reactors" %% "reactors-core" % "0.7"
// akka-actor 2.6.x supports Scala 2.12, 2.13
"com.typesafe.akka" %% "akka-actor" % "2.6.12"
)
)
.dependsOn(
Expand Down
1 change: 1 addition & 0 deletions benchmarks/actors-akka/project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.2")
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public final String name() {

public final String runtimeInfo() {
final String javaVersion = System.getProperty("java.version");
return "Java:" + javaVersion + "::Scala:2.11.0";
return "Java:" + javaVersion + "::Scala:2.13.4";
}

public abstract void initialize(String[] args) throws IOException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import scala.util.Properties._
import scala.util.{Failure, Success}

/**
*
* @author <a href="http://shams.web.rice.edu/">Shams Imam</a> ([email protected])
*/
abstract class AkkaActor[MsgType] extends Actor {
Expand Down Expand Up @@ -105,20 +104,23 @@ object AkkaActorState {
object actorLatch {
private var count = 0

def countDown(): Unit = this.synchronized {
count -= 1
if (count == 0) this.notifyAll()
}
def countDown(): Unit =
this.synchronized {
count -= 1
if (count == 0) this.notifyAll()
}

def countUp(): Unit = this.synchronized {
count += 1
}
def countUp(): Unit =
this.synchronized {
count += 1
}

def await(): Unit = this.synchronized {
while (count != 0) {
this.wait()
def await(): Unit =
this.synchronized {
while (count != 0) {
this.wait()
}
}
}
}

private val mailboxTypeKey = "actors.mailboxType"
Expand Down Expand Up @@ -214,7 +216,7 @@ object AkkaActorState {
def awaitTermination(system: ActorSystem) {
try {
actorLatch.await()
system.shutdown()
system.terminate()
} catch {
case ex: InterruptedException => {
ex.printStackTrace()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,19 @@ import org.renaissance.License
@Licenses(Array(License.MIT))
@Repetitions(24)
@Parameter(name = "loop_count", defaultValue = "10")
// Work around @Repeatable annotations not working in this Scala version.
@Configurations(
Array(
new Configuration(name = "test", settings = Array("loop_count = 2")),
new Configuration(name = "jmh", settings = Array("loop_count = 1"))
)
)
@Configuration(name = "test", settings = Array("loop_count = 2"))
@Configuration(name = "jmh", settings = Array("loop_count = 1"))
final class AkkaUct extends Benchmark {

// TODO: Consolidate benchmark parameters across the suite.
// See: https://github.com/renaissance-benchmarks/renaissance/issues/27

private var loopCountParam: Int = _

private var bench: UctAkkaActorBenchmark.UctAkkaActorBenchmark = null
private var bench: UctAkkaActorBenchmark.UctAkkaActorBenchmark = _

override def setUpBeforeAll(c: BenchmarkContext): Unit = {
loopCountParam = c.intParameter("loop_count")
loopCountParam = c.parameter("loop_count").toPositiveInteger

bench = new UctAkkaActorBenchmark.UctAkkaActorBenchmark
bench.initialize(new Array[String](0))
Expand All @@ -41,12 +36,12 @@ final class AkkaUct extends Benchmark {

override def tearDownAfterAll(c: BenchmarkContext): Unit = {
if (bench != null) {
bench.cleanupIteration(false, 0)
bench.cleanupIteration(lastIteration = false, 0)
}
}

override def run(c: BenchmarkContext): BenchmarkResult = {
for (i <- 0 until loopCountParam) {
for (_ <- 0 until loopCountParam) {
bench.runIteration()
}

Expand Down
1 change: 1 addition & 0 deletions benchmarks/actors-reactors/.scalafmt.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include "../../.scalafmt.conf"
17 changes: 17 additions & 0 deletions benchmarks/actors-reactors/build.sbt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
lazy val renaissanceCore = RootProject(uri("../../renaissance-core"))

lazy val reactorsCore = ProjectRef(uri("reactors"), "reactorsCoreJVM")
lazy val reactorsCommon = ProjectRef(uri("reactors"), "reactorsCommonJVM")

lazy val actorsReactors = (project in file("."))
.settings(
name := "actors-reactors",
version := (version in renaissanceCore).value,
organization := (organization in renaissanceCore).value,
scalaVersion := "2.12.13"
)
.dependsOn(
renaissanceCore,
reactorsCommon,
reactorsCore
)
1 change: 1 addition & 0 deletions benchmarks/actors-reactors/project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.2")
17 changes: 17 additions & 0 deletions benchmarks/actors-reactors/reactors/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
.flooignore
.floo
tmp
# deployed docs
.tags_sorted_by_file
# idea crap
target
*.dmp
deploy
apidocs/
reactors-common/jvm/src/bench/scala/io/reactors/common/concurrent/cache-trie-remove-benches.scala
.sublime-project
# ctags stuff
*.iml
.idea/
# misc
.tags
27 changes: 27 additions & 0 deletions benchmarks/actors-reactors/reactors/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Copyright (c) 2013-2016, Reactors.IO
All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.

* Neither the name of the {organization} nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Loading