[ 
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:41 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|

{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|

{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)

Reply via email to