[ https://issues.apache.org/jira/browse/IGNITE-425?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350242#comment-16350242 ]
Nikolay Izhikov edited comment on IGNITE-425 at 2/2/18 12:47 PM: ----------------------------------------------------------------- [~avinogradov] I changed benchmark. Please, see source changes. Got following number on couple of runs: ||Measure||Value|| |Warmup count|3| |Iteration count|5| |Period|20 sec| |Write threads|4| ||Test||Description|| |CQBenchmark|Regular Continuous Query| |CQWTIdBenchmark|Transformer returns Long| |CQWTNullBenchmark|Transformer returns Null| |CQWTValueBenchmark|Transformer retrurn whole Value| EvtCnt - count of received events in Continuous Query. The bigger the better {noformat} Benchmark Mode Cnt Score Error Units CQBenchmark.testMethod thrpt 5 12,084 ± 1,111 ops/s CQBenchmark.testMethod:evtCnt thrpt 5 7438039,000 # CQBenchmark.testMethod:methodExecuted thrpt 5 1815,000 # CQWTIdBenchmark.putBatch thrpt 5 12,782 ± 0,290 ops/s CQWTIdBenchmark.putBatch:evtCnt thrpt 5 7867990,000 # CQWTIdBenchmark.putBatch:methodExecuted thrpt 5 1920,000 # CQWTNullBenchmark.testMethod thrpt 5 12,601 ± 0,960 ops/s CQWTNullBenchmark.testMethod:evtCnt thrpt 5 7762282,000 # CQWTNullBenchmark.testMethod:methodExecuted thrpt 5 1894,000 # CQWTValueBenchmark.testMethod thrpt 5 11,945 ± 0,522 ops/s CQWTValueBenchmark.testMethod:evtCnt thrpt 5 7356065,000 # CQWTValueBenchmark.testMethod:methodExecuted thrpt 5 1795,000 # Benchmark Mode Cnt Score Error Units CQBenchmark.putBatch thrpt 5 12,158 ± 3,897 ops/s CQBenchmark.putBatch:evtCnt thrpt 5 7482138,000 # CQBenchmark.putBatch:methodExecuted thrpt 5 1826,000 # CQWTIdBenchmark.putBatch thrpt 5 12,736 ± 0,399 ops/s CQWTIdBenchmark.putBatch:evtCnt thrpt 5 7843317,000 # CQWTIdBenchmark.putBatch:methodExecuted thrpt 5 1914,000 # CQWTNullBenchmark.putBatch thrpt 5 12,800 ± 0,565 ops/s CQWTNullBenchmark.putBatch:evtCnt thrpt 5 7877051,000 # CQWTNullBenchmark.putBatch:methodExecuted thrpt 5 1922,000 # CQWTValueBenchmark.putBatch thrpt 5 11,785 ± 0,641 ops/s CQWTValueBenchmark.putBatch:evtCnt thrpt 5 7255440,000 # CQWTValueBenchmark.putBatch:methodExecuted thrpt 5 1770,000 # Benchmark Mode Cnt Score Error Units CQBenchmark.putBatch thrpt 5 12,714 ± 0,972 ops/s CQBenchmark.putBatch:evtCnt thrpt 5 7823989,000 # CQBenchmark.putBatch:methodExecuted thrpt 5 1909,000 # CQWTIdBenchmark.putBatch thrpt 5 12,706 ± 0,672 ops/s CQWTIdBenchmark.putBatch:evtCnt thrpt 5 7818670,000 # CQWTIdBenchmark.putBatch:methodExecuted thrpt 5 1908,000 # CQWTNullBenchmark.putBatch thrpt 5 12,820 ± 0,766 ops/s CQWTNullBenchmark.putBatch:evtCnt thrpt 5 7893313,000 # CQWTNullBenchmark.putBatch:methodExecuted thrpt 5 1926,000 # CQWTValueBenchmark.putBatch thrpt 5 11,735 ± 0,801 ops/s CQWTValueBenchmark.putBatch:evtCnt thrpt 5 7220725,000 # CQWTValueBenchmark.putBatch:methodExecuted thrpt 5 1762,000 # {noformat} was (Author: nizhikov): [~avinogradov] I changed benchmark. Please, see source changes. Got following number on couple of runs: ||Measure||Value|| |Warmup count|3| |Iteration count|5| |Period|20 sec| |Write threads|4| ||Test||Description|| |CQBenchmark|Regular Continuous Query| |CQWTIdBenchmark|Transformer returns Long| |CQWTNullBenchmark|Transformer returns Null| |CQWTValueBenchmark|Transformer retrurn whole Value| {noformat} Benchmark Mode Cnt Score Error Units CQBenchmark.testMethod thrpt 5 12,084 ± 1,111 ops/s CQBenchmark.testMethod:evtCnt thrpt 5 7438039,000 # CQBenchmark.testMethod:methodExecuted thrpt 5 1815,000 # CQWTIdBenchmark.putBatch thrpt 5 12,782 ± 0,290 ops/s CQWTIdBenchmark.putBatch:evtCnt thrpt 5 7867990,000 # CQWTIdBenchmark.putBatch:methodExecuted thrpt 5 1920,000 # CQWTNullBenchmark.testMethod thrpt 5 12,601 ± 0,960 ops/s CQWTNullBenchmark.testMethod:evtCnt thrpt 5 7762282,000 # CQWTNullBenchmark.testMethod:methodExecuted thrpt 5 1894,000 # CQWTValueBenchmark.testMethod thrpt 5 11,945 ± 0,522 ops/s CQWTValueBenchmark.testMethod:evtCnt thrpt 5 7356065,000 # CQWTValueBenchmark.testMethod:methodExecuted thrpt 5 1795,000 # Benchmark Mode Cnt Score Error Units CQBenchmark.putBatch thrpt 5 12,158 ± 3,897 ops/s CQBenchmark.putBatch:evtCnt thrpt 5 7482138,000 # CQBenchmark.putBatch:methodExecuted thrpt 5 1826,000 # CQWTIdBenchmark.putBatch thrpt 5 12,736 ± 0,399 ops/s CQWTIdBenchmark.putBatch:evtCnt thrpt 5 7843317,000 # CQWTIdBenchmark.putBatch:methodExecuted thrpt 5 1914,000 # CQWTNullBenchmark.putBatch thrpt 5 12,800 ± 0,565 ops/s CQWTNullBenchmark.putBatch:evtCnt thrpt 5 7877051,000 # CQWTNullBenchmark.putBatch:methodExecuted thrpt 5 1922,000 # CQWTValueBenchmark.putBatch thrpt 5 11,785 ± 0,641 ops/s CQWTValueBenchmark.putBatch:evtCnt thrpt 5 7255440,000 # CQWTValueBenchmark.putBatch:methodExecuted thrpt 5 1770,000 # Benchmark Mode Cnt Score Error Units CQBenchmark.putBatch thrpt 5 12,714 ± 0,972 ops/s CQBenchmark.putBatch:evtCnt thrpt 5 7823989,000 # CQBenchmark.putBatch:methodExecuted thrpt 5 1909,000 # CQWTIdBenchmark.putBatch thrpt 5 12,706 ± 0,672 ops/s CQWTIdBenchmark.putBatch:evtCnt thrpt 5 7818670,000 # CQWTIdBenchmark.putBatch:methodExecuted thrpt 5 1908,000 # CQWTNullBenchmark.putBatch thrpt 5 12,820 ± 0,766 ops/s CQWTNullBenchmark.putBatch:evtCnt thrpt 5 7893313,000 # CQWTNullBenchmark.putBatch:methodExecuted thrpt 5 1926,000 # CQWTValueBenchmark.putBatch thrpt 5 11,735 ± 0,801 ops/s CQWTValueBenchmark.putBatch:evtCnt thrpt 5 7220725,000 # CQWTValueBenchmark.putBatch:methodExecuted thrpt 5 1762,000 # {noformat} > Introduce transformers for continuous queries > --------------------------------------------- > > Key: IGNITE-425 > URL: https://issues.apache.org/jira/browse/IGNITE-425 > Project: Ignite > Issue Type: Sub-task > Components: cache > Affects Versions: 2.2 > Reporter: Yakov Zhdanov > Assignee: Nikolay Izhikov > Priority: Major > Fix For: 2.5 > > > Currently if updated entry passes the filter, it is sent to node initiated > the query entirely. It would be good to provide user with the ability to > transform entry and, for example, select only fields that are important. This > may bring huge economy to traffic and lower GC pressure as well. > Possible signatures will be: > {noformat} > public final class ContinuousQuery<K, V, T> {..} // T is a type transformer > transforms to > public ContinuousQuery<K, V, T> setLocalListener(Listener<T> locLsnr) {..} // > Probably, we will have to introduce new listener type, since user may want to > wipe out key as well. > /* new method to add */ > public ContinuousQuery<K, V, T> setRemoteTransformerFactory(Factory<? extends > ContinuousQueryTransformer<K, V, T>> factory) { ..} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)