Comments (3)
Unless there is a demonstrated gain in performance due to this, it would introduce a lot of unnecessary complexity.
from databuilderframework.
agreed will try out a test case and post some numbers here to take this forward.
from databuilderframework.
Below is the output from running a new test case in "issue_9" branch of my fork.
se - simpleExecutor
me- multiThreadedExecutor
ome - omptimizedMultiThreadedExecutor - avoid using thread pool if size among the same rank is 1.
From below stats we can se that when concurrency is more that builder thread pool size "ome" gives considerable performance gains compared "me" - Again this is assuming the dataflow execution graph has many single nodes in between parallel nodes in topology.
Running com.flipkart.databuilderframework.cmplxscenariotest.ContextSwitchOverHeadTest
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
running unbounded queue test with builder size 150 and concurrecy 100
se 3590
me 2401
me run: context switches over threshold count 0, max latent switch: 0, rejections 0
ome 2091
ome run: context switches over threshold count 0, max latent switch: 0, rejections 0
testWhenConccurencyIsMoreThanBuilderSize
running unbounded queue test with builder size 50 and concurrecy 150
se 2518
me 6874
me run: context switches over threshold count 15112, max latent switch: 263, rejections 0
ome 3993
ome run: context switches over threshold count 10120, max latent switch: 288, rejections 0
testWhenConccurencyIsSameAsBuilderSize
running unbounded queue test with builder size 150 and concurrecy 150
se 2556
me 2362
me run: context switches over threshold count 342, max latent switch: 73, rejections 0
ome 1581
ome run: context switches over threshold count 196, max latent switch: 80, rejections 0
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 28.18 sec
from databuilderframework.
Related Issues (18)
- Readme.md sample image
- EnhancementRequest - ReactiveExecutor HOT 4
- ProcessedBuilders check removal HOT 1
- DataBuilderClassInfo - customize Builder Name HOT 5
- Builder whose data is not consumed is left out of execution graph ( Because of bottom up building of graph) HOT 1
- Builder whose data is not consumed in is left out of execution graph ( Because of bottom up building of graph) HOT 3
- Making accesses mandatory for running a builder defeats purpose of statefulness of a builder HOT 3
- Making accesses mandatory for running a builder defeats purpose of statefulness of a builder HOT 1
- Accessible datas HOT 1
- Null returned from data builder is not nullifying the previous generated data.
- DataDelta content is getting changed if builder is producing the same data that is present in dataDelta. HOT 2
- Guice support HOT 1
- DataSet Passed to builder should be immutable HOT 2
- Proper way to access dataSet from DataBuilderContext HOT 3
- DataFlowExecutor's databuilderFactory is not used
- Builders of the same rank terminate when first one does not run HOT 3
- DataBuilderContext not accessible in DataBuilderExecutionListener
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from databuilderframework.