Skip to content

Commit ca8e9f6

Browse files
authored
Speed up (#9)
* Add atom cache * Constant time access for TermType values * Cache pid * Speed up performance
1 parent d349a3d commit ca8e9f6

File tree

55 files changed

+1308
-793
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+1308
-793
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
2222
- Turn on checkstyle JavaDocs module.
2323
- Add updates to the protocol, like new `ControlMessage`.
2424

25+
## [1.6.3](https://github.com/appulse-projects/encon-java/releases/tag/1.6.3) - 2018-09-11
26+
27+
### Changed
28+
29+
- Removed multi-handlers `netty` pipeline, use single one instead;
30+
- Cache `atom` and `pid` values;
31+
- Improve benchmarks.
32+
2533
## [1.6.2](https://github.com/appulse-projects/encon-java/releases/tag/1.6.2) - 2018-09-06
2634

2735
### Added

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ $> mvn clean compile
4646
[INFO] ------------------------------------------------------------------------
4747
[INFO] Reactor Summary:
4848
[INFO]
49-
[INFO] encon 1.6.2 ........................................ SUCCESS [ 1.210 s]
49+
[INFO] encon 1.6.3 ........................................ SUCCESS [ 1.210 s]
5050
[INFO] encon-common ....................................... SUCCESS [ 25.693 s]
5151
[INFO] encon-terms ........................................ SUCCESS [ 27.517 s]
5252
[INFO] encon-config ....................................... SUCCESS [ 18.707 s]
@@ -64,7 +64,7 @@ $> mvn clean compile
6464
[INFO] handler-advanced ................................... SUCCESS [ 11.289 s]
6565
[INFO] load-config ........................................ SUCCESS [ 3.725 s]
6666
[INFO] load-config-spring ................................. SUCCESS [ 6.420 s]
67-
[INFO] benchmark 1.6.2 .................................... SUCCESS [ 5.594 s]
67+
[INFO] benchmark 1.6.3 .................................... SUCCESS [ 5.594 s]
6868
[INFO] ------------------------------------------------------------------------
6969
[INFO] BUILD SUCCESS
7070
[INFO] ------------------------------------------------------------------------

benchmark/README.md

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,23 @@
2222

2323
| Benchmark | Mode | Cnt | Score | Error | Units |
2424
|----------------------------------------------------------------------------------------------------------------|-------|-----|------------:|------------:|-------|
25-
| [EnconBenchmark.mailbox2mailbox](./src/main/java/io/appulse/encon/benchmark/EnconBenchmark.java#L103) | thrpt | 25 | 4611737.930 | ± 54595.578 | ops/s |
26-
| [EnconBenchmark.node2node](./src/main/java/io/appulse/encon/benchmark/EnconBenchmark.java#L177) | thrpt | 25 | 13969.833 | ± 164.199 | ops/s |
27-
| [EnconBenchmark.oneDirection](./src/main/java/io/appulse/encon/benchmark/EnconBenchmark.java#L167) | thrpt | 25 | 28028.764 | ± 262.720 | ops/s |
28-
| [JInterfaceBenchmark.mailbox2mailbox](./src/main/java/io/appulse/encon/benchmark/JInterfaceBenchmark.java#L99) | thrpt | 25 | 4370604.847 | ± 15769.278 | ops/s |
29-
| [JInterfaceBenchmark.node2node](./src/main/java/io/appulse/encon/benchmark/JInterfaceBenchmark.java#L175) | thrpt | 25 | 17196.521 | ± 113.159 | ops/s |
30-
| [JInterfaceBenchmark.oneDirection](./src/main/java/io/appulse/encon/benchmark/JInterfaceBenchmark.java#L165) | thrpt | 25 | 34529.556 | ± 207.977 | ops/s |
25+
| [EnconBenchmark.mailbox2mailbox](./src/main/java/io/appulse/encon/benchmark/EnconBenchmark.java#L103) | thrpt | 25 | 4562837.232 | ± 48730.020 | ops/s |
26+
| [EnconBenchmark.node2node](./src/main/java/io/appulse/encon/benchmark/EnconBenchmark.java#L177) | thrpt | 25 | 13744.084 | ± 160.906 | ops/s |
27+
| [EnconBenchmark.oneDirection](./src/main/java/io/appulse/encon/benchmark/EnconBenchmark.java#L167) | thrpt | 25 | 27665.670 | ± 230.607 | ops/s |
28+
| [JInterfaceBenchmark.mailbox2mailbox](./src/main/java/io/appulse/encon/benchmark/JInterfaceBenchmark.java#L99) | thrpt | 25 | 4345167.985 | ± 22392.570 | ops/s |
29+
| [JInterfaceBenchmark.node2node](./src/main/java/io/appulse/encon/benchmark/JInterfaceBenchmark.java#L175) | thrpt | 25 | 13850.978 | ± 126.660 | ops/s |
30+
| [JInterfaceBenchmark.oneDirection](./src/main/java/io/appulse/encon/benchmark/JInterfaceBenchmark.java#L165) | thrpt | 25 | 27590.545 | ± 253.874 | ops/s |
31+
32+
How to run the benchmarks:
33+
34+
```bash
35+
$> mvn clean package \
36+
-DskipTests \
37+
-Dgpg.skip \
38+
-Dfindbugs.skip=true \
39+
-Dpmd.skip=true \
40+
-Dcheckstyle.skip \
41+
-Dmaven.test.skip=true \
42+
-pl benchmark -am; and \
43+
java -Xms1G -Xmx2G -jar benchmark/target/benchmarks.jar
44+
```

benchmark/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ limitations under the License.
2525
<parent>
2626
<groupId>io.appulse.encon</groupId>
2727
<artifactId>encon-parent</artifactId>
28-
<version>1.6.2</version>
28+
<version>1.6.3</version>
2929
</parent>
3030

3131
<artifactId>benchmark</artifactId>

benchmark/src/main/java/io/appulse/encon/benchmark/EnconBenchmark.java

Lines changed: 0 additions & 186 deletions
This file was deleted.

0 commit comments

Comments
 (0)