[ 
https://issues.apache.org/jira/browse/IGNITE-7986?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16406314#comment-16406314
 ] 

Vitaliy Biryukov commented on IGNITE-7986:
------------------------------------------

[~dpavlov],

As far as I understand,  size of the GridPartitionStateMap depends on the 
number of nodes in the cluster, the number of backups and the number of 
partitions (except local map).  

Results of my benchmark for nonlocal partition maps. 
 |backups|nodes|partitions|current (ns/op)|new (ns/op)|new better times|
|0|10|1024|7773.397|3095.733|2.5110036944|
|0|10|2048|16087.69|6144.741|2.6181233676|
|0|10|4096|34482.486|12345.651|2.7930877035|
|0|10|8000|72479.404|26650.82|2.7195937686|
|0|10|16000|146432.544|58102.809|2.5202317499|
|0|10|32000|296809.492|120724.04|2.458578192|
|0|10|64000|594322.515|242735.119|2.4484405777|
|0|100|1024|4729.686|336.3|14.0638893845|
|0|100|2048|9415.128|647.433|14.5422429811|
|0|100|4096|21148.614|1316.889|16.0595266571|
|0|100|8000|38834.411|2621.357|14.8146212057|
|0|100|16000|82633.151|5140.644|16.0744745211|
|0|100|32000|173895.173|10422.767|16.6841658266|
|0|100|64000|342516.513|23952.39|14.2998887794|
|0|1000|1024|2426.349|46.471|52.2121107788|
|0|1000|2048|8139.08|108.815|74.7974084455|
|0|1000|4096|14454.287|240.411|60.1232347937|
|0|1000|8000|34907.128|489.104|71.3695410383|
|0|1000|16000|73389.182|944.313|77.7170090849|
|0|1000|32000|160308.128|1984.28|80.7890660592|
|0|1000|64000|324560.687|4079.957|79.5500263851|
|0|2000|1024|3.008|2.537|1.1856523453|
|0|2000|2048|5946.673|90.027|66.054328146|
|0|2000|4096|17325.297|138.235|125.3322024089|
|0|2000|8000|33072.617|348.708|94.8432986912|
|0|2000|16000|64440.651|745.311|86.461424828|
|0|2000|32000|155238.657|1479.522|104.9248723574|
|0|2000|64000|321251.884|3167.658|101.4162147555|
|1|10|1024|11171.521|6119.496|1.8255622685|
|1|10|2048|24172.271|12665.634|1.9084927766|
|1|10|4096|53294.77|26685.115|1.9971722063|
|1|10|8000|109864.099|53980.026|2.0352731768|
|1|10|16000|221824.913|113037.367|1.9624033971|
|1|10|32000|436256.482|230921.664|1.8891968577|
|1|10|64000|881911.03|459193.654|1.9205644989|
|1|100|1024|5129.195|629.328|8.1502729896|
|1|100|2048|10859.603|1250.619|8.683382389|
|1|100|4096|21685.862|2539.37|8.5398590989|
|1|100|8000|42293.47|4960.049|8.5268250374|
|1|100|16000|90791.646|10598.697|8.5663026314|
|1|100|32000|180378.316|21288.594|8.4730027732|
|1|100|64000|367885.521|51335.901|7.1662426067|
|1|1000|1024|2905.899|90.916|31.9624598531|
|1|1000|2048|9262.415|186.65|49.6245111171|
|1|1000|4096|18267.382|360.739|50.6387776204|
|1|1000|8000|32897.705|729.977|45.066769227|
|1|1000|16000|76443.255|1409.925|54.217958402|
|1|1000|32000|164860.382|2946.506|55.9511441687|
|1|1000|64000|330178.483|5966.129|55.3421628999|
|1|2000|1024|2292.627|55.323|41.4407570088|
|1|2000|2048|8686.208|108.265|80.2309887775|
|1|2000|4096|14479.482|242.147|59.7962477338|
|1|2000|8000|35766.976|484.239|73.8622374489|
|1|2000|16000|74094.016|962.648|76.968960617|
|1|2000|32000|157008.208|1986.852|79.0236051805|
|1|2000|64000|328899.34|4067.667|80.8569973894|
|2|10|1024|13852.683|9270.305|1.4943071452|
|2|10|2048|32389.393|19186.303|1.688151855|
|2|10|4096|71480.692|40449.752|1.7671478431|
|2|10|8000|145103.259|83085.115|1.7464410924|
|2|10|16000|298201.673|168707.071|1.7675706847|
|2|10|32000|597223.744|338370.431|1.7649998028|
|2|10|64000|1181314.547|677498.149|1.7436424716|
|2|100|1024|5556.731|929.405|5.9788047191|
|2|100|2048|11336.611|1884.978|6.0141874335|
|2|100|4096|23191.629|3724.606|6.2265992698|
|2|100|8000|46321.575|7395.63|6.2633710718|
|2|100|16000|96597.642|15122.088|6.3878508047|
|2|100|32000|198318.107|33385.073|5.9403227005|
|2|100|64000|390379.128|77205.45|5.0563674974|
|2|1000|1024|4275.427|107.752|39.6784004009|
|2|1000|2048|9002.224|240.328|37.4580739656|
|2|1000|4096|17506.322|478.795|36.5632932675|
|2|1000|8000|36023.671|936.647|38.4602427595|
|2|1000|16000|77573.168|1900.365|40.8201413939|
|2|1000|32000|166096.53|3807.846|43.6195502654|
|2|1000|64000|333527.89|8057.699|41.39244839|
|2|2000|1024|4215.233|40.166|104.9453019967|
|2|2000|2048|7817.065|140.176|55.7660726515|
|2|2000|4096|16460.534|302.354|54.4412642135|
|2|2000|8000|34834.671|595.045|58.5412380576|
|2|2000|16000|71198.703|1198.658|59.3986800238|
|2|2000|32000|164602.702|2441.896|67.4077446378|
|2|2000|64000|326950.689|5018.504|65.149034254|
|3|10|1024|17563.189|12591.11|1.3948880599|
|3|10|2048|40323.233|26827.544|1.5030534662|
|3|10|4096|90634.301|55372.915|1.636798442|
|3|10|8000|180605.006|112340.016|1.607664058|
|3|10|16000|377485.446|220576.124|1.7113613167|
|3|10|32000|719862.747|444048.477|1.6211354937|
|3|10|64000|1448648.778|888291.277|1.6308263016|
|3|100|1024|5953.177|1282.051|4.6434790816|
|3|100|2048|11867.489|2475.663|4.7936609304|
|3|100|4096|23781.162|4956.259|4.798208084|
|3|100|8000|50154.639|9918.107|5.0568761761|
|3|100|16000|101415.351|20612.608|4.920064021|
|3|100|32000|206534.66|46958.461|4.3982416715|
|3|100|64000|410189.768|103604.349|3.9591944929|
|3|1000|1024|3768.713|155.013|24.3122383284|
|3|1000|2048|9290.828|287.702|32.2932339713|
|3|1000|4096|19068.872|591.37|32.2452474762|
|3|1000|8000|37386.302|1173.022|31.8717824559|
|3|1000|16000|80019.08|2349.26|34.0613980573|
|3|1000|32000|166979.318|4750.332|35.1510837558|
|3|1000|64000|334807.012|10051.151|33.3103156047|
|3|2000|1024|3576.936|84.307|42.427508985|
|3|2000|2048|8858.885|173.809|50.9690810027|
|3|2000|4096|18813.804|367.991|51.1257177485|
|3|2000|8000|36267.153|719.568|50.4012866053|
|3|2000|16000|76035.017|1424.328|53.3830810038|
|3|2000|32000|162745.176|2920.364|55.7277024371|
|3|2000|64000|335004.219|6027.053|55.5834201226|
|100000|10|1024|24655.507|18805.963|1.3110472992|
|100000|10|2048|49134.673|37556.271|1.3082947719|
|100000|10|4096|100383.767|75620.664|1.3274647655|
|100000|10|8000|196333.59|148143.947|1.3252893147|
|100000|10|16000|396826.572|295088.476|1.3447714983|
|100000|10|32000|774229.377|585011.168|1.3234437552|
|100000|10|64000|1642733.978|1172637.039|1.4008887007|
|100000|100|1024|24248.412|18683.511|1.2978509232|
|100000|100|2048|49970.744|37517.12|1.331945096|
|100000|100|4096|100074.021|75406.868|1.3271207737|
|100000|100|8000|195791.347|148426.795|1.3191105218|
|100000|100|16000|395203.808|297003.995|1.3306346536|
|100000|100|32000|823697.417|586171.038|1.4052168456|
|100000|100|64000|1524057.926|1174318.153|1.2978236963|
|100000|1000|1024|24154.441|18803.488|1.2845723623|
|100000|1000|2048|48891.924|37709.658|1.2965358636|
|100000|1000|4096|100209.496|75919.448|1.3199450028|
|100000|1000|8000|211969.73|149735.453|1.4156282013|
|100000|1000|16000|387639.866|294624.263|1.3157092429|
|100000|1000|32000|814015.381|587213.471|1.3862341741|
|100000|1000|64000|1513301.084|1168756.976|1.2947953382|
|100000|2000|1024|24372.348|18985.193|1.2837556089|
|100000|2000|2048|48993.623|37517.633|1.3058825699|
|100000|2000|4096|99118.157|76048.613|1.3033525937|
|100000|2000|8000|209490.528|148385.397|1.4118001652|
|100000|2000|16000|395739.167|302666.502|1.3075089724|
|100000|2000|32000|773626.685|585625.143|1.3210271011|
|100000|2000|64000|1536702.086|1192397.602|1.2887497286|

> GridPartitionStateMap.entrySet() optimization.
> ----------------------------------------------
>
>                 Key: IGNITE-7986
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7986
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Vitaliy Biryukov
>            Assignee: Vitaliy Biryukov
>            Priority: Major
>         Attachments: GridPartitionStateMapBench.java
>
>
> GridPartitionStateMap based on BitSet. And the size of a BitSet depends on 
> the maximum key element, and not on the number of elements. 
> Just using the "BitSet.nextSetBit" method, will improve the performance of 
> the iterator for big clusters or caches with a large number of partitions.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to