Skip to content

Commit

Permalink
Fixed typo and updated CHANGELOG.
Browse files Browse the repository at this point in the history
  • Loading branch information
jodzga committed Mar 8, 2017
1 parent c8bd4d1 commit 006df03
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
10 changes: 10 additions & 0 deletions CHANGELOG.md
@@ -1,3 +1,13 @@
v2.6.10
------

* Performance optimizations:
- Eagerly drain task queue in SerialExecutor. The goal of this optimization is to avoid expensive context switches and improve memory cache utilization for the price of "fairness". Since this version the default behavior is to drain task queue eagerly. The previous behavior can be enabled by setting Engine configuration property: `Engine.DRAIN_SERIAL_EXECUTOR_QUEUE` to `true`.
- Disable trampoline. Trampoline is a mechanism that allows avoiding stack overflow. It is not without a cost and for certain workflows it is worth turning it off. Since this version trampoline is disabled. It can be enabled using `ParSeqGlobalConfiguration.setTrampolineEnabled()`.
- Use LIFOBiPriorityQueue as a task queue implementation in SerialExecutor. LIFOBiPriorityQueue is a task queue that recognizes only two priorities which allows faster implementation. It also uses LIFO order which can improve memory cache utilization. It is possible to use previous implementation by default by setting Engine configuration property: `Engine.DEFAULT_TASK_QUEUE` to `FIFOPriorityQueue.class.getName()`.
- Avoid creation and copying of arrays in TaskParImpl.
* Added benchmarks that can be used for testing ParSeq performance. This is just a beginning of work on more reliable and automated performance tests for ParSeq.

v2.6.9
------

Expand Down
4 changes: 2 additions & 2 deletions src/com/linkedin/parseq/Engine.java
Expand Up @@ -54,7 +54,7 @@ public class Engine {
private static final int DEFUALT_MAX_CONCURRENT_PLANS = Integer.MAX_VALUE;

public static final String DRAIN_SERIAL_EXECUTOR_QUEUE = "_DrainSerialExecutorQueue_";
private static final boolean DEFUALT_DRAIN_SERIAL_EXECUTOR_QUEUE = true;
private static final boolean DEFAULT_DRAIN_SERIAL_EXECUTOR_QUEUE = true;

public static final String DEFAULT_TASK_QUEUE = "_DefaultTaskQueue_";

Expand Down Expand Up @@ -126,7 +126,7 @@ private static enum StateName {
if (_properties.containsKey(DRAIN_SERIAL_EXECUTOR_QUEUE)) {
_drainSerialExecutorQueue = (Boolean) getProperty(DRAIN_SERIAL_EXECUTOR_QUEUE);
} else {
_drainSerialExecutorQueue = DEFUALT_DRAIN_SERIAL_EXECUTOR_QUEUE;
_drainSerialExecutorQueue = DEFAULT_DRAIN_SERIAL_EXECUTOR_QUEUE;
}

_taskDoneListener = resolvedPromise -> {
Expand Down

0 comments on commit 006df03

Please sign in to comment.