You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by al...@apache.org on 2020/02/24 18:14:55 UTC

[incubator-datasketches-characterization] branch fi_merge_time created (now a574853)

This is an automated email from the ASF dual-hosted git repository.

alsay pushed a change to branch fi_merge_time
in repository https://gitbox.apache.org/repos/asf/incubator-datasketches-characterization.git.


      at a574853  frequent items merge time

This branch includes the following new commits:

     new a574853  frequent items merge time

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org


[incubator-datasketches-characterization] 01/01: frequent items merge time

Posted by al...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

alsay pushed a commit to branch fi_merge_time
in repository https://gitbox.apache.org/repos/asf/incubator-datasketches-characterization.git

commit a574853f0f3698f39b414dfc2e7de87a6bc33aaf
Author: AlexanderSaydakov <Al...@users.noreply.github.com>
AuthorDate: Mon Feb 24 10:14:42 2020 -0800

    frequent items merge time
---
 cpp/matlab/frequent_items_merge_time.m             |  20 ++
 ..._merge_timing_string_lgk10_zipf11_long_copy.tsv | 319 +++++++++++++++++++++
 ..._merge_timing_string_lgk10_zipf11_long_move.tsv | 319 +++++++++++++++++++++
 ...merge_timing_string_lgk10_zipf11_short_copy.tsv | 319 +++++++++++++++++++++
 ...merge_timing_string_lgk10_zipf11_short_move.tsv | 319 +++++++++++++++++++++
 cpp/src/frequent_items_merge_timing_profile.cpp    | 115 ++++++++
 cpp/src/frequent_items_merge_timing_profile.hpp    |  34 +++
 cpp/src/main.cpp                                   |   2 +
 8 files changed, 1447 insertions(+)

diff --git a/cpp/matlab/frequent_items_merge_time.m b/cpp/matlab/frequent_items_merge_time.m
new file mode 100644
index 0000000..6e000aa
--- /dev/null
+++ b/cpp/matlab/frequent_items_merge_time.m
@@ -0,0 +1,20 @@
+clf;
+k=1024;
+
+fi_str_cp_sh=load('../results/frequent_items_merge_timing_string_lgk10_zipf11_short_copy.tsv');
+fi_str_mv_sh=load('../results/frequent_items_merge_timing_string_lgk10_zipf11_short_move.tsv');
+fi_str_cp_ln=load('../results/frequent_items_merge_timing_string_lgk10_zipf11_long_copy.tsv');
+fi_str_mv_ln=load('../results/frequent_items_merge_timing_string_lgk10_zipf11_long_move.tsv');
+
+hold on;
+semilogx(fi_str_cp_sh(:,1), fi_str_cp_sh(:,5), 'linewidth', 2);
+semilogx(fi_str_mv_sh(:,1), fi_str_mv_sh(:,5), 'linewidth', 2);
+semilogx(fi_str_cp_ln(:,1), fi_str_cp_ln(:,5), 'linewidth', 2);
+semilogx(fi_str_mv_ln(:,1), fi_str_mv_ln(:,5), 'linewidth', 2);
+
+set(gca, 'fontsize', 16);
+title 'Merge time of frequent items sketch<std::string>(10)'
+xlabel 'stream size'
+ylabel 'time, nanoseconds'
+legend('zipf 1.1 copy short strings', 'zipf 1.1 move short strings', 'zipf 1.1 copy long strings', 'zipf 1.1 move long strings');
+grid minor on
diff --git a/cpp/results/frequent_items_merge_timing_string_lgk10_zipf11_long_copy.tsv b/cpp/results/frequent_items_merge_timing_string_lgk10_zipf11_long_copy.tsv
new file mode 100644
index 0000000..66b08b2
--- /dev/null
+++ b/cpp/results/frequent_items_merge_timing_string_lgk10_zipf11_long_copy.tsv
@@ -0,0 +1,319 @@
+1	16384	14273.6	110.168	256.104	0	1
+2	12120	14241.7	106.518	379.95	0	1.96469
+3	10161	14317.5	104.845	497.097	0	2.90139
+4	8967	14380.4	101.623	605.442	0	3.80908
+5	8138	14446.2	100.713	736.299	0	4.69661
+6	7517	14463.5	99.0643	868.565	0	5.53891
+7	7030	14059.3	96.5657	1462.59	0	6.38549
+8	6633	14300.6	100.237	1769.18	0	7.22795
+9	6302	14381.6	98.4167	1984.77	0	8.02253
+10	6020	14475.7	97.6744	2160.96	0	8.82442
+11	5776	14345.7	97.3621	2313.19	0	9.60319
+12	5561	14485.9	96.985	2475.45	0	10.3726
+13	5371	14590	97.7328	2800.97	0	11.1434
+14	5201	14477.6	96.3688	3076.14	0	11.896
+15	5047	14646.1	97.2855	3409.75	0	12.6037
+16	4907	14464.2	96.9406	3673.53	0	13.3621
+17	4780	14498.1	96.1359	3886.61	0	14.0477
+18	4662	14540.5	95.1428	4074.43	0	14.7926
+19	4554	14738	98.6409	4318.62	0	15.4877
+20	4454	14880.1	96.8455	4469.91	0	16.2146
+21	4360	14601.1	96.2211	4572.02	0	16.8778
+22	4273	14640.8	96.7066	4735.31	0	17.5844
+23	4191	15073	99.167	4959.91	0	18.24
+24	4114	14907.6	98.0899	5081.67	0	18.9482
+25	4042	14746.4	97.7635	5187.04	0	19.622
+26	3973	15361.9	101.715	5497.36	0	20.2698
+27	3909	16987.7	106.298	6008.7	0	20.935
+28	3847	14681.1	96.8287	5664.15	0	21.6272
+29	3789	16148.3	109.437	6534.18	0	22.2655
+31	3681	15308.1	101.016	6700.9	0	23.5621
+32	3630	15340.2	101.386	6992.84	0	24.2915
+33	3582	15013.7	98.8275	7179.23	0	24.9442
+35	3492	16571.9	108.223	8145.19	0	26.0819
+36	3449	15685.4	103.299	8014.79	0	26.6959
+38	3369	15261.5	98.4206	8157.02	0	27.992
+40	3295	15126.3	96.2898	8259.48	0	29.2662
+41	3259	15082.5	96.7602	8395.83	0	29.8607
+43	3193	15770.4	100.576	8999.06	0	31.2152
+45	3130	15976.7	100.575	9330.03	0	32.3518
+47	3071	16411.9	105.441	9807.55	0	33.4507
+49	3016	16447.6	105.336	10029.8	0	34.7709
+52	2939	16130	101.899	10140.5	0	36.5713
+54	2892	16960.2	107.538	10758.6	0	37.6978
+56	2846	15812	99.099	10389.7	0	38.8823
+59	2782	16202	101.652	10990.3	0	40.5557
+61	2742	16774.3	104.489	11664.8	0	41.7381
+64	2686	16473.6	101.737	12022.7	0	43.5953
+67	2633	19693.5	118.57	14143.2	0	45.3217
+70	2583	19912.9	125.115	15500.2	0	46.8753
+73	2536	17509.9	105.586	14082	0	48.5059
+76	2492	17379.2	103.267	14557	0	50.2183
+79	2451	17200.3	99.8353	14899.2	0	51.8409
+83	2399	17716.5	101.076	15642.8	0	54.0092
+87	2350	19465.5	110.115	17305.1	0	55.9987
+91	2304	18415.4	103.26	16833.3	0	58.25
+95	2262	18267.9	100.596	16912.5	0	60.2732
+99	2222	18798.8	102.024	17373.5	0	62.5986
+103	2184	18891	101.053	17500	0	64.1809
+108	2139	19157.1	101.328	18078.5	0	67.1459
+112	2105	19893.6	102.655	18686.9	0	69.162
+117	2066	19733.3	100.367	18871.7	0	71.6544
+123	2021	20213.8	100.739	19430	0	74.809
+128	1987	20644.7	102.856	20264.2	0	77.1278
+134	1948	21219.7	103.945	21060.1	0	80.0642
+140	1911	22191	105.521	21949.8	0	83.1737
+146	1876	22235.1	104.708	22302.2	0	85.7564
+152	1844	23547.2	109.548	23514.6	0	88.6502
+159	1808	23003.9	104.981	24231.7	0	91.9817
+166	1774	23576.7	105.045	25655	0	95.5192
+173	1743	24676.4	108.139	27535.9	0	98.6064
+181	1709	27728.5	118.204	30568.8	0	102.167
+189	1677	27559.9	115.216	31497.3	0	106.249
+197	1647	27079.5	125.751	31187	0	109.673
+206	1615	26866.9	142.676	31697.2	0	113.596
+215	1586	28074.4	164.231	32844.3	0	117.666
+225	1555	28212.9	178.732	33619.3	0	121.761
+235	1525	28347.5	183.927	34321.3	0	126.448
+245	1498	29076.1	194.264	35174.2	0	130.92
+256	1470	30452.4	202.267	37632	0	135.514
+267	1443	32390.9	209.053	39316	0	140.31
+279	1416	29590.4	190.648	37353.1	0	145.28
+292	1388	35166.4	217.888	43166.4	0	150.713
+304	1364	33276.4	203.943	42261.7	0	155.405
+318	1337	33519.1	198.932	42946.9	0	161.455
+332	1313	36165.3	203.388	45659.6	0	167.03
+347	1288	45618	235.474	54534.2	0	172.953
+362	1264	37945.4	195.44	48017.4	0	179.089
+378	1240	44916.9	212.666	55748.4	0	185.58
+395	1217	61493.8	294.823	75197.2	0	191.909
+412	1195	47764	233.873	65103.8	0	198.527
+431	1172	41804.6	216.694	61157.8	0	205.469
+450	1150	45819.1	237.016	67990.4	0	212.563
+470	1128	38410.5	217.461	62936.2	0	219.355
+490	1108	39546.9	223.366	65231	0	227.497
+512	1087	41992.6	238.341	68910.8	0	235.799
+535	1067	43347.7	245.412	72056.2	0	243.324
+558	1047	42444.1	236.462	72973.3	0	251.683
+583	1027	47337.9	246.818	78930.9	0	261.217
+609	1008	43027.8	228.193	75585.3	0	269.468
+636	989	45467.1	232.628	78859.5	0	278.534
+664	971	45068	219.126	77797.1	0	288.84
+693	953	44184.7	206.269	76834.2	0	298.751
+724	935	49681.3	216.843	83048.1	0	308.523
+756	918	50385.6	210.859	83777.8	0	319.413
+790	900	55430	213.786	89230	0	330.514
+825	883	52225.4	197.721	85782.6	0	341.418
+861	867	54027.7	197.478	89352.9	0	353.547
+899	851	55953	197.076	93235	0	364.813
+939	835	56752.1	195.415	100765	0	377.792
+981	819	57941.4	198.736	110380	0	390.19
+1024	804	58145.5	199.148	117782	0	404.284
+1069	789	57752.9	202.015	122554	0	417.575
+1117	774	58598.2	205.313	126252	0	431.239
+1166	760	58589.5	204.271	130408	0	445.551
+1218	746	61457.1	206.068	133895	0	460.594
+1272	732	63008.2	204.458	138848	0	476.141
+1328	718	72281.3	216.765	152121	0	492.309
+1387	705	76561.7	216.633	156055	0	508.382
+1448	692	70708.1	193.311	149653	0	524.803
+1512	679	83911.6	210.935	166583	0	543.016
+1579	666	82261.3	198.401	162616	0	559.659
+1649	654	91192.7	203.217	173096	0	580.2
+1722	641	88697.3	187.921	170340	0	598.437
+1798	629	87376.8	179.457	170272	0	617.445
+1878	618	88344.7	174.652	171010	0	639.068
+1961	606	91594.1	173.31	175521	0	660.886
+2048	595	93995	173.015	181101	0	680.829
+2139	584	100586	181.312	193329	0	702.553
+2233	573	107894	202.457	219101	0.0122164	717.567
+2332	562	116973	211.423	253162	0.181495	646.671
+2435	552	104232	200.428	279187	0.606884	432.678
+2543	541	87245.8	183.048	287577	0.946396	274.556
+2656	531	87114.9	181.312	297141	0.99435	279.817
+2774	521	88468.3	180.597	303313	1	311.668
+2896	512	92654.3	175.771	308846	1	347.307
+3025	502	98649.4	176.129	317353	1	382.307
+3158	493	102923	172.815	324286	1	419.55
+3298	483	110319	169.212	332035	1	457.058
+3444	474	122165	172.203	342620	1	495.295
+3597	465	131325	170.188	352606	1	535.357
+3756	457	137823	167.448	359392	1	574.035
+3922	448	153775	181.183	385388	1	615.167
+4096	440	146143	166.659	379284	1	655.739
+4277	432	144662	161.846	386685	1.00231	696.266
+4467	424	158778	163.63	406649	1.12028	676.927
+4664	416	170361	164.118	457238	1.80288	367.44
+4871	408	168564	160.931	470380	1.9951	322.36
+5087	400	185335	174.569	499090	2	377.882
+5312	393	163481	169.411	499333	2	436.41
+5547	385	149283	170.571	512675	2	497.595
+5793	378	140437	174.171	516471	2	558.183
+6049	371	139261	171.391	525102	2	618.286
+6317	364	144753	167.581	541591	2	678.945
+6597	357	148350	163.605	555429	2.22129	629.627
+6889	351	161641	160.3	613342	2.91738	343.105
+7194	344	206006	185.718	714323	3	383.047
+7512	338	204237	170.713	689482	3	464.006
+7845	331	260033	193.149	814039	3	549.369
+8192	325	248449	177.319	765578	3	628.329
+8555	319	262614	177.853	784561	3.05329	686.972
+8933	313	295882	177.192	875278	3.80511	396.259
+9329	307	289687	170.102	856958	4	400.046
+9742	302	312695	162.8	879798	4	499.781
+10173	296	290730	153.355	818128	4	599.669
+10624	290	312569	151.985	844010	4.04483	683.99
+11094	285	328632	145.317	900628	4.87018	382.442
+11585	280	345129	151.11	938986	5	446.729
+12098	274	335084	151.467	968223	5	566.723
+12634	269	319903	164.529	1.03535e+06	5.0223	677.082
+13193	264	270765	159.678	1.10067e+06	5.86364	396.178
+13777	259	252633	154.947	1.14293e+06	6	478.641
+14387	255	251267	155.714	1.1718e+06	6	624.902
+15024	250	266144	153.544	1.23105e+06	6.424	553
+15689	245	284849	155.068	1.29598e+06	7	437.951
+16384	241	304203	153.597	1.32997e+06	7	603.203
+17109	236	334110	154.45	1.40992e+06	7.51271	521.246
+17867	232	357228	158.09	1.46036e+06	8	460.621
+18658	227	401612	154.386	1.51283e+06	8.00881	649.233
+19484	223	418359	161.257	1.59087e+06	8.92825	388.345
+20347	219	444767	152.945	1.61903e+06	9	562.904
+21247	215	513986	171.048	1.77137e+06	9.44651	547.312
+22188	211	545299	160.858	1.80074e+06	10	511.166
+23170	207	732952	181.808	2.16599e+06	10.2512	612.362
+24196	203	718202	172.934	2.15177e+06	11	501.626
+25268	199	768769	170.368	2.23776e+06	11.3417	586.08
+26386	195	838472	176.263	2.40437e+06	12	538.097
+27554	192	769495	159.342	2.21248e+06	12.6458	480.599
+28774	188	797356	175.585	2.29297e+06	13	617.218
+30048	185	723951	171.13	2.42481e+06	13.9838	425.697
+31379	181	636768	175.437	2.64122e+06	14.2873	589.768
+32768	178	518275	170.003	2.64979e+06	15	585.618
+34219	174	554713	170.192	2.95578e+06	15.9885	447.874
+35734	171	544386	160.759	2.91002e+06	16.7018	465.333
+37316	168	638071	173.684	3.12218e+06	17.0952	642.542
+38968	165	637115	167.637	3.17922e+06	18	587.327
+40693	162	684852	166.929	3.2751e+06	19	522.698
+42495	159	907528	172.444	3.94129e+06	20	457.428
+44376	156	879115	168.841	3.85497e+06	20.9103	458.712
+46341	153	1.00429e+06	179.249	4.19858e+06	21.8889	447.013
+48393	150	1.14372e+06	176.233	4.45819e+06	22.8933	442.24
+50535	147	1.13573e+06	172.874	4.44873e+06	23.8912	467.497
+52773	144	1.08865e+06	162.549	4.22077e+06	24.9861	490.778
+55109	142	1.38936e+06	179.826	4.90989e+06	26.007	530.099
+57549	139	1.50729e+06	185.985	5.13364e+06	27.0288	611.158
+60097	136	1.38297e+06	170.327	4.87306e+06	28.3456	569.838
+62757	134	1.96634e+06	200.814	6.04443e+06	29.8134	475.784
+65536	131	1.70738e+06	160.988	5.54332e+06	31.0305	566.198
+68438	129	1.70885e+06	158.106	5.43417e+06	32.4729	540.24
+71468	127	1.71609e+06	166.573	5.32801e+06	34.0079	518.165
+74632	124	1.69194e+06	177.171	4.79616e+06	35.1532	612.25
+77936	122	963803	185.728	2.7434e+06	36.3689	582.582
+81386	120	373775	181.762	1.40218e+06	38.6	559.65
+84990	117	343889	181.091	1.47197e+06	40.1453	587.752
+88752	115	357609	167.995	1.6537e+06	41.4783	602.791
+92682	113	422053	169.585	1.95956e+06	43.0973	581.354
+96785	111	524649	170.996	2.31632e+06	44.7477	577.955
+101070	109	647477	164.497	2.6387e+06	46.8716	532.092
+105545	107	703093	155.867	2.85538e+06	49.0187	567.364
+110218	105	984410	165.265	3.5183e+06	51.2667	592.6
+115098	103	1.01058e+06	158.147	3.70189e+06	53.7961	549.951
+120194	101	1.21794e+06	153.061	4.06572e+06	56.2277	582.406
+125515	99	1.46934e+06	167.74	4.65077e+06	58.9798	525.384
+131072	97	1.49444e+06	156.241	4.65548e+06	61.6289	557.278
+136875	95	1.85428e+06	168.671	5.18955e+06	64.5368	546.232
+142935	93	1.67337e+06	158.33	4.59218e+06	67.2796	573.312
+149263	92	748804	170.791	2.18334e+06	71.3913	592.87
+155872	90	488167	187.439	1.81937e+06	75.1778	570.467
+162773	88	682409	183.817	2.47628e+06	77.8523	567.409
+169979	87	761425	163.383	2.72054e+06	80.5862	554.276
+177505	85	876353	160.518	3.18598e+06	83.7647	568.835
+185364	83	1.18827e+06	166.978	3.8474e+06	87.1446	564.47
+193571	82	1.44049e+06	161.031	4.34061e+06	90.9268	596.683
+202141	80	1.79682e+06	164.724	4.91528e+06	95.35	559.5
+211090	79	1.93841e+06	183.878	4.72325e+06	99.7722	603.316
+220436	77	656818	180.289	1.99227e+06	106.455	534.312
+230195	76	616671	170.039	2.13559e+06	110.868	562.895
+240387	74	897135	166.884	2.96146e+06	114.689	574.162
+251030	73	1.22842e+06	159.007	3.70888e+06	119.082	586.301
+262144	72	1.56515e+06	162.251	4.40085e+06	124.014	557.222
+273750	70	1.99706e+06	166.772	5.07887e+06	129.6	574.386
+285870	69	924174	177.243	2.45649e+06	137.768	546.957
+298527	68	1.02554e+06	209.767	3.04528e+06	143.912	588.324
+311744	66	1.22603e+06	177.34	3.55979e+06	149.258	565.939
+325546	65	1.70815e+06	170.755	4.50586e+06	154.892	562.338
+339959	64	2.46453e+06	183.999	5.69739e+06	161.516	575.953
+355010	63	848302	180.87	2.1619e+06	171.413	570.333
+370728	62	1.06656e+06	184.308	3.12624e+06	178.581	559.452
+387141	60	1.75853e+06	213.282	4.72453e+06	185.233	570.117
+404281	59	2.02649e+06	162.665	5.22353e+06	192.61	576.881
+422180	58	830483	165.157	2.20531e+06	204.069	548.81
+440872	57	1.2206e+06	175.745	3.29191e+06	212.439	563.456
+460391	56	1.79538e+06	169.095	4.7188e+06	220.375	538.946
+480774	55	1.8844e+06	191.292	4.19518e+06	231.455	580.164
+502060	54	886093	165.15	2.69124e+06	242.463	537.815
+524288	53	1.89466e+06	183.481	4.76713e+06	251.34	571.698
+547500	52	1.56873e+06	166.106	3.61948e+06	263.846	568.346
+571740	51	1.1842e+06	183.797	3.15412e+06	275.961	560.686
+597053	50	2.2124e+06	190.707	5.30462e+06	286.58	548.66
+623487	49	988878	180.428	2.49378e+06	301.51	559.224
+651091	48	1.51021e+06	164.582	3.97058e+06	313.438	584.229
+679917	47	1.72468e+06	184.408	3.93596e+06	328.319	558.936
+710020	46	1.51139e+06	192.478	4.02602e+06	342.696	556.783
+741455	45	2.14522e+06	186.373	4.65767e+06	357.467	587.911
+774282	45	1.52264e+06	202.844	3.82911e+06	374.289	519.578
+808563	44	1.84493e+06	176.82	4.21314e+06	390.318	579.409
+844361	43	1.42253e+06	166.386	3.72567e+06	407.767	561.86
+881744	42	1.23948e+06	172.683	2.95471e+06	426.857	540.833
+920782	41	1.87773e+06	180.333	4.46124e+06	444.415	574.463
+961548	41	1.06066e+06	173.103	2.72995e+06	465.854	561.098
+1004120	40	1.71918e+06	160.77	3.92085e+06	485.3	558.2
+1048576	39	1.65262e+06	171.199	4.21631e+06	506.795	541.974
+1095000	38	1.22068e+06	191.152	3.17045e+06	530.763	539.211
+1143480	38	1.50008e+06	185.771	3.46155e+06	554.368	567.395
+1194106	37	1.95143e+06	172.365	4.68481e+06	576.838	587.162
+1246974	36	1.83717e+06	174.91	4.51583e+06	603.583	542.306
+1302182	35	1.30326e+06	159.659	3.36511e+06	631.086	579.371
+1359835	35	1.21691e+06	170.646	3.10066e+06	659.514	558.857
+1420040	34	1.08565e+06	167.665	2.72841e+06	689.088	537.735
+1482910	33	1.18327e+06	172.868	3.01852e+06	719.303	585.212
+1548564	33	1.16267e+06	173.22	2.733e+06	752.303	538.758
+1617125	32	1.246e+06	173.591	3.08603e+06	785.344	558.125
+1688722	32	1.36322e+06	184.928	3.35278e+06	819.875	563.188
+1763488	31	1.49277e+06	170.61	3.7889e+06	855.839	586.71
+1841564	30	1.7208e+06	161.821	4.16627e+06	893.4	556.633
+1923097	30	1.54327e+06	156.017	3.6395e+06	934.333	582
+2008240	29	1.22279e+06	166.361	3.01303e+06	976.586	576
+2097152	29	1.79228e+06	171.698	4.17845e+06	1019	510.828
+2190001	28	1.54839e+06	167.74	3.44107e+06	1065.36	511.107
+2286960	28	1.41275e+06	158.787	3.56129e+06	1111.5	592.393
+2388213	27	1.33893e+06	149.79	3.17889e+06	1161.93	600.667
+2493948	27	1.66867e+06	159.015	4.0463e+06	1213.11	515.148
+2604365	26	1.35688e+06	169.293	3.31785e+06	1267.65	575.462
+2719670	26	1.37304e+06	160.459	3.0755e+06	1323.96	564.538
+2840080	25	1.62848e+06	170.939	3.70164e+06	1382.44	570.96
+2965821	25	2.09028e+06	180.627	4.48352e+06	1443.6	581.92
+3097129	24	2.17188e+06	175.859	4.47854e+06	1507.92	529.625
+3234251	24	1.5055e+06	152.757	3.40196e+06	1575.88	525.958
+3377443	23	1.40626e+06	166.785	3.38339e+06	1645.43	566.217
+3526975	23	1.32291e+06	148.346	3.30117e+06	1718.78	572.435
+3683128	22	1.735e+06	158.843	3.90341e+06	1795.14	556.682
+3846194	22	1.31282e+06	153.429	3.23041e+06	1876.18	540.545
+4016479	22	1.42968e+06	147.663	3.32477e+06	1958.86	553.364
+4194304	21	1.63186e+06	149.884	3.81048e+06	2045.52	549.952
+4380002	21	1.44286e+06	153.908	3.53095e+06	2137.14	510.952
+4573921	20	1.4913e+06	153.732	3.4708e+06	2232.1	552.35
+4776426	20	1.51755e+06	152.018	3.7196e+06	2330.75	549.85
+4987896	20	2.37665e+06	154.516	3.93775e+06	2434.15	554.8
+5208729	19	1.32089e+06	150.837	3.15526e+06	2542.84	557
+5439339	19	1.54853e+06	150.765	3.64337e+06	2655.58	568.421
+5680159	18	1.44972e+06	152.633	3.39994e+06	2773.39	597
+5931642	18	1.34539e+06	149.141	3.24294e+06	2896.67	621.667
+6194258	18	1.32161e+06	156.283	3.18217e+06	3026.89	548.556
+6468501	17	1.41765e+06	149.199	3.52829e+06	3160.76	559.471
+6754886	17	1.55153e+06	150.633	3.50588e+06	3300.53	581.765
+7053950	17	1.36912e+06	148.382	3.26494e+06	3447.53	623.294
+7366255	16	1.36225e+06	148.252	3.26956e+06	3600.88	560.75
+7692387	16	1.42106e+06	144.001	3.45825e+06	3760.06	610.625
+8032959	16	1.76062e+06	156.274	3.849e+06	3927.44	525.438
+8388608	16	1.71262e+06	162.447	3.94312e+06	4102	545.375
diff --git a/cpp/results/frequent_items_merge_timing_string_lgk10_zipf11_long_move.tsv b/cpp/results/frequent_items_merge_timing_string_lgk10_zipf11_long_move.tsv
new file mode 100644
index 0000000..01e470e
--- /dev/null
+++ b/cpp/results/frequent_items_merge_timing_string_lgk10_zipf11_long_move.tsv
@@ -0,0 +1,319 @@
+1	16384	15310.6	102.966	168.396	0	1
+2	12120	14159.6	101.361	204.125	0	1.9651
+3	10161	14239.9	105.239	256.766	0	2.90208
+4	8967	14066.2	99.3365	310.026	0	3.80841
+5	8138	14051.4	97.2229	374.171	0	4.70435
+6	7517	14109.6	95.8716	455.634	0	5.55833
+7	7030	14241.5	99.8984	899.289	0	6.38279
+8	6633	14241.1	97.2034	1154.38	0	7.22358
+9	6302	14293.6	96.1247	1294.51	0	8.04284
+10	6020	14378.4	96.5615	1388.37	0	8.80249
+11	5776	14320.6	95.7095	1472.47	0	9.61998
+12	5561	14269	95.0818	1552.06	0	10.3285
+13	5371	14623	96.0858	1799.29	0	11.1594
+14	5201	14365.1	96.3551	2018.65	0	11.9041
+15	5047	14342.6	96.7704	2285.91	0	12.6527
+16	4907	14336.1	96.9406	2486.04	0	13.3436
+17	4780	14401.7	97.1942	2683.89	0	14.1042
+18	4662	14395.8	96.7038	2821.32	0	14.7982
+19	4554	14586.3	97.0922	2946.86	0	15.4752
+20	4454	14763.4	98.0692	3082.17	0	16.1904
+21	4360	14815.6	98.9734	3181.88	0	16.8807
+22	4273	14870.1	99.6	3291.36	0	17.6422
+23	4191	14923.9	99.7583	3393.46	0	18.1801
+24	4114	14611.8	97.4822	3407.39	0	18.9302
+25	4042	14682.6	97.6843	3491.34	0	19.6185
+26	3973	14610.4	95.9941	3558.27	0	20.3554
+27	3909	14701.7	96.3873	3687.64	0	20.9698
+28	3847	14590.6	96.0489	3808.16	0	21.5513
+29	3789	14604.4	96.741	4024.54	0	22.2906
+31	3681	14603.1	96.0819	4431.68	0	23.5911
+32	3630	14677.4	96.1777	4682.09	0	24.2113
+33	3582	14571.7	95.3167	4864.04	0	24.8878
+35	3492	14724.5	96.5881	5223.08	0	26.1429
+36	3449	14863.7	97.1618	5415.48	0	26.7596
+38	3369	14867.6	96.5225	5620.07	0	28.0748
+40	3295	14924.1	96.9575	5817.6	0	29.2944
+41	3259	14885.5	97.2841	5882.48	0	29.9257
+43	3193	14894.5	96.8252	6004.38	0	31.1118
+45	3130	15033.2	97.1033	6134.82	0	32.3006
+47	3071	15201.9	96.8774	6307.07	0	33.5161
+49	3016	16324.6	104.578	6830.24	0	34.7702
+52	2939	16044.6	103.855	7012.25	0	36.4913
+54	2892	15174.3	98.695	6804.98	0	37.6511
+56	2846	15355.6	98.2457	7004.92	0	38.9086
+59	2782	15537.4	99.4468	7289	0	40.541
+61	2742	15627.3	99.2814	7472.28	0	41.663
+64	2686	15432.6	99.0204	7759.49	0	43.4393
+67	2633	15654.4	99.2058	8196.35	0	45.0843
+70	2583	15919.9	100.901	8765.39	0	46.7925
+73	2536	16174.7	101.038	9401.42	0	48.3498
+76	2492	16861.6	104.139	10038.1	0	50.1569
+79	2451	16649.5	102.846	10350.1	0	51.7515
+83	2399	18341.4	108.73	11517.7	0	54.11
+87	2350	18100.9	108.237	11700.4	0	56.0021
+91	2304	16993.5	102.726	11385.4	0	58.2361
+95	2262	17684.4	104.435	11912.9	0	60.2538
+99	2222	17730	103.283	11962.6	0	62.4716
+103	2184	17740.4	104.631	12239	0	64.3723
+108	2139	18062.6	103.415	12407.7	0	67.1323
+112	2105	18643.7	106.507	12876.5	0	68.8732
+117	2066	18376.6	104.12	12814.6	0	71.5755
+123	2021	18352.8	103.217	13099.5	0	74.6274
+128	1987	18551.1	103.458	13356.3	0	77.1037
+134	1948	18602.2	103.78	13664.8	0	80.0303
+140	1911	19215.1	106.13	14273.2	0	83.0387
+146	1876	19419	105.16	14605	0	85.9472
+152	1844	19649.7	105.952	15216.4	0	88.8379
+159	1808	19983.4	106.445	16216.8	0	92.0808
+166	1774	20249.7	108.631	17270.6	0	95.4848
+173	1743	20497.4	109.395	18383.2	0	98.6139
+181	1709	20578.1	108.606	19039.2	0	102.142
+189	1677	21104.4	110.076	19922.5	0	106.062
+197	1647	21916.2	123.763	20777.2	0	109.574
+206	1615	22602.5	142.141	21497.8	0	113.562
+215	1586	23114.8	156.876	22018.9	0	117.836
+225	1555	23535.7	170.398	22595.5	0	122.064
+235	1525	23724.6	174.848	22967.9	0	126.714
+245	1498	24449.9	183.058	23783	0	130.829
+256	1470	25328.6	189.772	24715	0	135.867
+267	1443	25271	189.54	24985.4	0	140.186
+279	1416	26822.7	197.178	26198.4	0	144.987
+292	1388	26401.3	191.194	26319.9	0	150.501
+304	1364	26412.8	188.166	26707.5	0	155.672
+318	1337	27380.7	188.724	27642.5	0	161.462
+332	1313	27280.3	183.879	28051.8	0	167.176
+347	1288	27957.3	181.934	29035.7	0	172.831
+362	1264	28756.3	180.911	30051.4	0	178.864
+378	1240	29059.7	177.993	31621.8	0	185.364
+395	1217	29647.5	181.174	34299.1	0	191.397
+412	1195	30559	188.441	37698.7	0	198.261
+431	1172	29795.2	192.118	39639.9	0	205.54
+450	1150	29628.7	196.808	40911.3	0	212.792
+470	1128	29645.4	201.888	42234.9	0	220.251
+490	1108	29527.1	205.203	43154.3	0	227.563
+512	1087	31031.3	218.317	45988	0	235.476
+535	1067	32291.5	222.868	48068.4	0	243.37
+558	1047	29276	205.982	46114.6	0	251.071
+583	1027	30659.2	211.784	48907.5	0	260.426
+609	1008	38581.3	247.579	58273.8	0	269.65
+636	989	30930.2	201.447	50264.9	0	278.313
+664	971	32987.6	203.597	52479.9	0	288.676
+693	953	34273.9	202.27	53899.3	0	298.655
+724	935	34567.9	194.505	54266.3	0	309.092
+756	918	37857.3	200.704	57922.7	0	319.757
+790	900	36414.4	186.121	56562.2	0	330.01
+825	883	37977.3	185.596	58044.2	0	340.948
+861	867	38784.3	183.968	60139.6	0	353.383
+899	851	40468.9	184.837	64126.9	0	365.013
+939	835	40701.8	186.812	68568.9	0	376.861
+981	819	41300.4	190.889	77188	0	390.792
+1024	804	41557.2	194.125	82699	0	404.068
+1069	789	41887.2	195.851	85447.4	0	417.36
+1117	774	42316.5	199.14	87510.3	0	431.258
+1166	760	43111.8	199.219	90357.9	0	446.667
+1218	746	44193	196.776	92474.5	0	460.101
+1272	732	45427.6	194.236	94413.9	0	476.833
+1328	718	48403.9	196.343	98628.1	0	492.001
+1387	705	49190.1	189.69	99649.6	0	507.901
+1448	692	56177.7	198.866	107835	0	524.957
+1512	679	52680.4	183.794	104224	0	543.467
+1579	666	55036	183.056	106865	0	560.432
+1649	654	56750.8	178.432	108983	0	579.893
+1722	641	59260.5	176.956	112190	0	599.359
+1798	629	62752	176.181	116086	0	618.649
+1878	618	64385.1	174.302	118236	0	639.447
+1961	606	66722.8	172.29	121033	0	658.216
+2048	595	68048.7	173.352	125709	0	680.114
+2139	584	67400.7	173.165	130411	0	703.476
+2233	573	67144.9	176.161	137236	0.0052356	722.51
+2332	562	66948.4	181.442	155196	0.174377	651.231
+2435	552	69865.9	187.902	194217	0.603261	433.674
+2543	541	64977.8	181.779	210617	0.935305	281.031
+2656	531	66576.3	184.17	220687	0.998117	276.586
+2774	521	68445.3	182.477	225749	1	313.303
+2896	512	70543	179.47	228830	1	347.119
+3025	502	74671.3	177.992	234187	1	382.618
+3158	493	79551.7	179.522	242519	1	420.761
+3298	483	84436.9	176.864	248021	1	458.13
+3444	474	86742.6	171.021	248979	1	497.006
+3597	465	90520.4	168.091	250428	1	535.062
+3756	457	96013.1	168.19	256558	1	574.19
+3922	448	103663	164.924	263259	1	615.076
+4096	440	112268	164.273	270452	1	657.445
+4277	432	116028	164.013	278248	1	699.039
+4467	424	120427	164.267	300745	1.1533	661.309
+4664	416	122834	165.028	345464	1.72596	403.728
+4871	408	123922	161.897	367221	1.99265	324.468
+5087	400	122222	172.71	377385	2	377.075
+5312	393	117142	171.202	382590	2	437.094
+5547	385	113847	178.008	398569	2	494.738
+5793	378	108479	177.606	402011	2	561.106
+6049	371	112752	184.112	427795	2	616.922
+6317	364	115058	184.007	433335	2.00275	678.272
+6597	357	122426	180.135	462877	2.22969	624.801
+6889	351	126108	172.301	499558	2.90883	346.197
+7194	344	134628	178.086	539163	2.99709	386.279
+7512	338	140811	168.158	546053	3	465.885
+7845	331	145565	162.219	542278	3	548.647
+8192	325	151068	164.386	544837	3	629.486
+8555	319	158476	161.558	549909	3.05329	686.784
+8933	313	177201	167.36	633527	3.8147	388.47
+9329	307	187971	159.023	652055	4	401.495
+9742	302	197245	159.235	667583	4	503.993
+10173	296	206253	157.456	665385	4	604.666
+10624	290	224255	168.172	699255	4.03793	687.597
+11094	285	225130	156.638	734905	4.86667	383.316
+11585	280	229946	156.105	751589	5	440.154
+12098	274	224956	167.487	794318	5	570.686
+12634	269	208409	171.318	824242	5.02974	677.45
+13193	264	194886	176.64	935053	5.88636	386.894
+13777	259	179815	172.502	969243	6	475.112
+14387	255	178102	179.509	971039	6	616.314
+15024	250	182068	164.05	999096	6.42	558.452
+15689	245	181780	149.42	980110	6.99592	441.139
+16384	241	192328	150.663	1.00156e+06	7	604.606
+17109	236	206017	151.838	1.05916e+06	7.47881	533.225
+17867	232	220082	155.417	1.10881e+06	8	470.284
+18658	227	239485	159.65	1.17477e+06	8.00441	649.295
+19484	223	254655	158.237	1.22815e+06	8.91928	397.063
+20347	219	266973	157.729	1.26436e+06	9	561.511
+21247	215	280535	154.752	1.30194e+06	9.51163	517.702
+22188	211	300289	157.58	1.38652e+06	10	513.009
+23170	207	318749	162.353	1.44578e+06	10.2899	594.739
+24196	203	329695	160.011	1.50509e+06	11	487.286
+25268	199	339101	156.282	1.50542e+06	11.3467	579.467
+26386	195	358769	159.839	1.57718e+06	12	534.082
+27554	192	381875	159.393	1.65495e+06	12.6094	499.385
+28774	188	386665	163.62	1.72327e+06	13.0106	608.559
+30048	185	369243	168.01	1.82806e+06	13.9784	429.324
+31379	181	314039	171.289	1.97464e+06	14.2541	603.492
+32768	178	300449	181.885	2.27924e+06	15	579.135
+34219	174	291862	174.03	2.27917e+06	15.977	445.506
+35734	171	304082	174.07	2.2848e+06	16.6842	465.374
+37316	168	331375	183.171	2.49267e+06	17.0774	648.381
+38968	165	353018	178.431	2.72274e+06	18.0121	594.685
+40693	162	388191	181.331	2.92977e+06	18.9938	517.296
+42495	159	422138	178.84	3.29211e+06	19.9686	463.245
+44376	156	393545	156.306	2.9614e+06	20.9359	447.801
+46341	153	416431	172.228	3.12367e+06	21.8954	454.451
+48393	150	427927	173.574	3.19925e+06	22.9	448.607
+50535	147	458429	175.075	3.36431e+06	23.9048	459.054
+52773	144	475347	173.709	3.45496e+06	25	461.028
+55109	142	498232	174.612	3.67358e+06	26	530.479
+57549	139	509468	172.673	3.66593e+06	27.0288	607.173
+60097	136	525088	174.178	3.88676e+06	28.3382	566.382
+62757	134	551582	178.696	4.07433e+06	29.8284	462.776
+65536	131	576038	178.052	4.17767e+06	31.0153	557.221
+68438	129	592302	178.524	4.33005e+06	32.5194	518.969
+71468	127	601874	179.752	4.41469e+06	33.9843	520.669
+74632	124	569823	181.018	4.00903e+06	35.1613	612.565
+77936	122	542049	237.683	3.51611e+06	36.2459	591.082
+81386	120	313042	213.549	1.64559e+06	38.5583	557.458
+84990	117	231752	177.225	1.24624e+06	40.2137	593.906
+88752	115	257104	178.981	1.42876e+06	41.4783	600.348
+92682	113	292956	179.04	1.68984e+06	42.9912	583.912
+96785	111	371126	197.011	2.21579e+06	44.8288	546.505
+101070	109	535743	191.992	2.56861e+06	46.8899	519.716
+105545	107	448757	174.904	2.52831e+06	49	564.794
+110218	105	492371	181.828	2.83067e+06	51.2286	599.476
+115098	103	517175	176.294	3.00455e+06	53.8447	536.99
+120194	101	573158	173.603	3.32256e+06	56.1485	597.921
+125515	99	622475	179.528	3.739e+06	58.9091	537.232
+131072	97	667742	183.935	4.09059e+06	61.732	532.536
+136875	95	739874	182.057	4.58178e+06	64.6211	536.558
+142935	93	694000	179.17	4.14888e+06	67.1398	624.57
+149263	92	385076	178.52	1.97637e+06	71.5326	564.62
+155872	90	294956	183.088	1.43861e+06	75.0556	569.689
+162773	88	359580	184.939	1.78976e+06	77.8182	566.398
+169979	87	450713	173.538	2.27726e+06	80.5172	578.103
+177505	85	537306	177.715	2.79416e+06	83.5765	571.341
+185364	83	607928	169.067	3.25792e+06	87.1084	577.157
+193571	82	676537	163.479	3.74105e+06	91.0244	579.878
+202141	80	739500	162.275	4.18261e+06	95.425	549.35
+211090	79	729532	169.893	4.06211e+06	99.8608	592.038
+220436	77	360104	172.924	1.64782e+06	106.39	554.065
+230195	76	396382	169.637	1.88012e+06	110.974	546.961
+240387	74	522054	167.802	2.533e+06	114.784	582.216
+251030	73	652932	168.706	3.20679e+06	119.178	543.726
+262144	72	745514	163.706	3.89333e+06	123.958	579.083
+273750	70	818800	167.926	4.45793e+06	129.671	563.114
+285870	69	457145	173.504	2.0232e+06	137.783	549.29
+298527	68	451206	166.22	1.96453e+06	143.985	558.5
+311744	66	612985	166.352	2.77805e+06	149.182	555.909
+325546	65	749431	158.644	3.69237e+06	154.985	555.369
+339959	64	831766	161.551	4.25922e+06	161.562	561.156
+355010	63	453873	168.626	1.85783e+06	171.238	580.603
+370728	62	524161	164.183	2.34321e+06	178.323	586.145
+387141	60	698967	158.394	3.31822e+06	185.25	566.6
+404281	59	855525	157.737	4.30661e+06	192.661	556.847
+422180	58	469345	160.905	1.95262e+06	203.879	555.897
+440872	57	594982	161.991	2.67212e+06	212.158	573.123
+460391	56	851232	159.253	3.83612e+06	220.107	557.893
+480774	55	685218	154.24	3.1694e+06	231.582	573.109
+502060	54	564315	159.584	2.365e+06	242.519	548.87
+524288	53	809830	155.224	3.70219e+06	251.472	569.189
+547500	52	706288	164.702	3.25638e+06	264.019	581
+571740	51	602784	155.308	2.47678e+06	275.882	595.039
+597053	50	884840	156.403	3.94142e+06	286.36	590.02
+623487	49	549122	164.305	2.116e+06	301.592	541.612
+651091	48	769396	157.636	3.21267e+06	313.188	599.292
+679917	47	727745	155.273	3.05306e+06	328.426	572.936
+710020	46	687130	156.506	2.81111e+06	342.652	578.913
+741455	45	801978	153.436	3.50042e+06	357.778	562.911
+774282	45	731600	159.591	2.75809e+06	373.778	568.022
+808563	44	812364	154.485	3.39807e+06	390.409	588.727
+844361	43	838233	164.377	3.12942e+06	407.86	602.279
+881744	42	692595	161.831	2.6181e+06	426.905	577.881
+920782	41	876951	151.02	3.5712e+06	444.024	581.463
+961548	41	571805	146.012	2.1262e+06	465.683	574.366
+1004120	40	826975	150.54	3.49882e+06	485.2	584.525
+1048576	39	857897	156.653	3.35105e+06	506.59	554.179
+1095000	38	651895	152.936	2.28971e+06	530.763	565.5
+1143480	38	699868	151.648	2.6975e+06	554.342	567.579
+1194106	37	915270	150.043	3.65286e+06	577.432	559.081
+1246974	36	911722	152.661	3.50006e+06	603.417	590.25
+1302182	35	767286	150.721	2.86434e+06	630.743	592.4
+1359835	35	676886	150.572	2.3364e+06	659.257	567.543
+1420040	34	653118	149.608	2.20847e+06	689.147	582.176
+1482910	33	632576	146.538	2.25658e+06	719.909	541.636
+1548564	33	665000	147.247	2.28476e+06	751.697	565.606
+1617125	32	666406	145.18	2.27694e+06	785.312	545.625
+1688722	32	726438	143.557	2.47634e+06	820.094	552.25
+1763488	31	790581	148.2	2.88765e+06	856.032	522.032
+1841564	30	959133	149.362	3.50483e+06	893.567	575.367
+1923097	30	888867	144.958	3.2206e+06	933.333	560.867
+2008240	29	711793	148.206	2.39017e+06	976.862	540.862
+2097152	29	902207	143.099	3.245e+06	1018.59	614.103
+2190001	28	778786	145.996	2.94268e+06	1064.57	589.179
+2286960	28	846964	145.969	3.01604e+06	1111.57	583.357
+2388213	27	719148	140.9	2.72307e+06	1162	564.296
+2493948	27	909852	140.687	3.41574e+06	1212	578.704
+2604365	26	768115	144.733	2.584e+06	1268.04	560.154
+2719670	26	765846	140.37	2.60785e+06	1324.38	541.192
+2840080	25	828680	142.347	2.99028e+06	1382.6	594.2
+2965821	25	874680	145.907	3.31656e+06	1443.72	507.92
+3097129	24	893208	141.364	3.27017e+06	1507.58	548
+3234251	24	975375	161.209	3.54954e+06	1575.62	573.958
+3377443	23	800957	142.798	2.60413e+06	1646	542.957
+3526975	23	811870	139.363	2.91917e+06	1718.65	555
+3683128	22	853455	137.853	3.0935e+06	1794.73	591.682
+3846194	22	843682	146.538	2.90386e+06	1875.95	539.227
+4016479	22	868545	147.466	3.112e+06	1958.27	532.727
+4194304	21	943238	144.295	3.31943e+06	2045.29	571.238
+4380002	21	884667	149.969	3.00224e+06	2136.14	566.571
+4573921	20	903600	144.856	3.0694e+06	2231.3	569.15
+4776426	20	1.00985e+06	148.897	3.4994e+06	2331.05	562.4
+4987896	20	898000	145.956	3.195e+06	2434.7	535.1
+5208729	19	889053	154.377	2.95126e+06	2542.05	603.368
+5439339	19	967421	148.921	3.19847e+06	2655.26	567.263
+5680159	18	932556	153.162	2.93394e+06	2773.56	548.778
+5931642	18	897222	149.403	2.95089e+06	2896.72	577
+6194258	18	793167	129.619	2.72561e+06	3026.83	521.389
+6468501	17	847529	130.436	2.81041e+06	3160.06	546.294
+6754886	17	818471	126.568	2.81165e+06	3300.29	577.235
+7053950	17	794000	128.002	2.78265e+06	3446.35	572
+7366255	16	813688	128.941	2.782e+06	3601.19	572.5
+7692387	16	893500	144.497	2.94219e+06	3760.12	589.25
+8032959	16	852438	139.036	2.78744e+06	3926.69	566.875
+8388608	16	924500	139.002	2.96444e+06	4101.44	537.812
diff --git a/cpp/results/frequent_items_merge_timing_string_lgk10_zipf11_short_copy.tsv b/cpp/results/frequent_items_merge_timing_string_lgk10_zipf11_short_copy.tsv
new file mode 100644
index 0000000..01ebb3e
--- /dev/null
+++ b/cpp/results/frequent_items_merge_timing_string_lgk10_zipf11_short_copy.tsv
@@ -0,0 +1,319 @@
+1	16384	14652.6	48.4619	171.143	0	1
+2	12874	14646.3	40.1973	227.124	0	1.96505
+3	11180	14984.8	41.5921	286.404	0	2.90009
+4	10115	14551.4	38.5072	321.008	0	3.80198
+5	9360	14553.3	35.1068	378.846	0	4.69231
+6	8785	14823.1	33.9784	430.734	0	5.54604
+7	8326	15430.1	32.7545	851.069	0	6.38422
+8	7948	15521.6	30.558	1078.51	0	7.20861
+9	7629	15568.4	31.0657	1211.56	0	8.02517
+10	7355	15611.4	30.0884	1307.27	0	8.81564
+11	7115	15694.2	30.5756	1350.95	0	9.57414
+12	6903	15440.8	30.0232	1400.55	0	10.3522
+13	6713	15451.1	30.0107	1610.31	0	11.1245
+14	6542	15801.4	29.7965	1860.59	0	11.899
+15	6387	15178.2	28.819	2031.31	0	12.5906
+16	6245	14762.5	29.0833	2209.13	0	13.3518
+17	6115	14875.1	27.0502	2388.72	0	14.0695
+18	5995	15047.2	28.0697	2462.72	0	14.7741
+19	5883	15178.3	27.2596	2579.47	0	15.4868
+20	5779	15286.6	28.0239	2675.72	0	16.2006
+21	5682	15440	28.2764	2789.86	0	16.9101
+22	5591	14961.2	28.2028	2764.44	0	17.5867
+23	5505	15002.5	27.3585	2819.62	0	18.254
+24	5424	14959.4	27.4859	2898.78	0	18.9864
+25	5347	15047.3	26.8487	2959.98	0	19.599
+26	5275	15249.3	27.0069	2992.99	0	20.2872
+27	5206	15124.3	26.9561	3072.22	0	20.9823
+28	5141	15097.5	26.9959	3173.9	0	21.6123
+29	5078	14969.3	26.8773	3342.65	0	22.3401
+31	4962	15558.4	26.7972	3734.78	0	23.6288
+32	4907	15085.6	26.7284	3874.67	0	24.234
+33	4855	15580.2	27.5817	4104.63	0	24.8622
+35	4757	15668.7	28.3252	4431.78	0	26.1503
+36	4710	15719.1	27.3944	4471.34	0	26.7732
+38	4623	15956.1	27.9267	4817.87	0	28.0415
+40	4541	15496.4	27.3618	4826.25	0	29.2588
+41	4502	15620.6	27.6354	4966.02	0	29.8914
+43	4428	15639.1	27.5204	5101.85	0	31.1585
+45	4359	15502.2	27.7128	5203.49	0	32.2517
+47	4293	15320.8	27.9178	5308.64	0	33.4836
+49	4231	15267.8	27.7061	5413.14	0	34.7334
+52	4145	15776.6	27.902	5645.11	0	36.401
+54	4091	15903	27.5582	5756.29	0	37.5827
+56	4039	15893.8	27.7252	5880.42	0	38.8188
+59	3967	15211.7	27.4083	5958.91	0	40.5495
+61	3921	15683.8	27.6067	6148.94	0	41.7577
+64	3856	15925.1	28.0731	6416.75	0	43.5044
+67	3795	16004.5	28.3051	6841.37	0	45.1713
+70	3738	15848.6	28.43	7219.1	0	46.7737
+73	3683	15244.4	28.4238	7717.35	0	48.4876
+76	3632	15443.8	28.5329	8155.29	0	50.0942
+79	3584	15298	28.7106	8541.29	0	51.7238
+83	3523	15557.8	29.0484	9043.15	0	54.0131
+87	3465	15711.4	29.5766	9359.88	0	56.1968
+91	3412	15518.5	28.8445	9516.12	0	58.0903
+95	3361	15705.4	28.945	9681.94	0	60.3996
+99	3313	15367	29.4402	9828.25	0	62.5008
+103	3268	15923.2	29.5421	10076.8	0	64.3696
+108	3214	16097.7	29.8348	10408.2	0	67.1465
+112	3174	15930.4	29.6916	10493.4	0	69.0942
+117	3126	16370.1	30.3165	10809.7	0	71.7841
+123	3072	16235.7	30.2258	11008.5	0	74.8206
+128	3030	16649.2	31.0179	11421.8	0	77.27
+134	2982	16366.5	31.077	11510.1	0	80.0312
+140	2937	16251.3	31.3342	11771.2	0	82.9946
+146	2894	16242.6	31.4538	12043.9	0	85.7626
+152	2854	16405.4	31.8897	12640.2	0	88.8311
+159	2810	16002.8	32.0911	13274.7	0	92.2078
+166	2768	16470.7	32.5145	14215	0	95.3566
+173	2728	16473.6	33.1289	14958.9	0	98.5913
+181	2686	16269.9	33.5215	15743.9	0	102.243
+189	2646	16972.8	33.9796	16536.3	0	106.024
+197	2608	16646.5	44.535	17067.5	0	109.582
+206	2568	17560.4	61.1087	17649.1	0	113.498
+215	2530	18420.9	76.6357	18288.9	0	117.735
+225	2490	19053.8	91.5109	18839.4	0	122.391
+235	2453	19517.7	98.4986	19536.5	0	126.457
+245	2417	19818	104.197	19895.3	0	130.59
+256	2381	20001.7	109.59	20559	0	135.459
+267	2346	19960.8	110.244	20718.2	0	139.851
+279	2310	19825.5	110.042	21077.1	0	145.309
+292	2274	19938.9	110.262	21623.6	0	150.413
+304	2242	20163.2	109.894	22187.8	0	155.485
+318	2208	20048.9	107.806	22577.4	0	161.315
+332	2175	19958.6	105.19	22879.1	0	166.91
+347	2142	20143.8	103.515	23609.2	0	172.815
+362	2110	20152.6	101.134	24263	0	178.434
+378	2079	20107.7	98.614	25611.8	0	185.357
+395	2047	20227.2	100.416	27756.2	0	191.678
+412	2017	20540.4	104.43	30272.7	0	198.488
+431	1986	20959.2	110.178	32649.5	0	205.491
+450	1956	20728.5	114.551	33590	0	212.628
+470	1927	20808	119.48	34548.5	0	219.987
+490	1899	20759.9	122.364	35384.4	0	227.324
+512	1870	20857.8	125.463	36333.2	0	235.725
+535	1842	21021.2	126.938	37261.1	0	243.592
+558	1815	20941	126.253	38046.8	0	251.662
+583	1788	21023.5	125.474	38887	0	260.718
+609	1761	20943.2	122.69	39427.6	0	269.328
+636	1735	20911.2	120.087	40276.1	0	278.89
+664	1709	21097.1	118.018	41323	0	288.947
+693	1683	20947.1	114.26	41711.2	0	298.426
+724	1658	21139.9	111.834	42728.6	0	309.017
+756	1633	21335	109.28	43761.2	0	319.792
+790	1608	21380	106.746	44928.5	0	330.339
+825	1584	21406.6	104.646	45861.7	0	341.999
+861	1561	21500.3	103.126	47100.6	0	353.566
+899	1538	21522.8	103.096	49301	0	365.542
+939	1515	22377.6	105.705	54208.6	0	377.923
+981	1492	22782.2	107.874	60460.5	0	390.365
+1024	1470	23244.9	110.868	65142.9	0	403.749
+1069	1448	23810.1	113.433	68148.5	0	417.501
+1117	1426	24212.5	114.783	69781.2	0	431.28
+1166	1405	24817.8	116.216	71929.5	0	446.353
+1218	1384	24459.5	113.966	72980.5	0	460.847
+1272	1363	24821.7	112.646	74659.6	0	475.836
+1328	1343	25053.6	110.388	75959.8	0	492.161
+1387	1322	25338.1	107.56	77461.4	0	509.169
+1448	1303	25255.6	104.6	78751.3	0	526.216
+1512	1283	25399.8	101.551	79957.9	0	542.949
+1579	1264	25730.2	99.7291	81976.3	0	560.576
+1649	1245	26073.9	97.2623	83541.4	0	579.144
+1722	1226	25818.9	94.6725	85035.9	0	598.112
+1798	1208	25772.4	92.3566	86378.3	0	618.179
+1878	1190	25841.2	90.6995	88102.5	0	638.757
+1961	1172	25877.1	89.5548	90428.3	0	659.936
+2048	1155	26218.2	89.1454	93648.5	0	680.831
+2139	1137	26699.2	90.0477	97193.5	0	702.212
+2233	1120	27461.6	92.4193	102446	0.00803571	720.341
+2332	1104	27644.9	93.943	109350	0.15308	662.111
+2435	1087	28017.5	96.4325	121050	0.600736	434.849
+2543	1071	28535	98.0781	130747	0.951447	271.008
+2656	1055	28800.9	97.3991	134312	0.997156	279.2
+2774	1039	29237.7	96.576	137805	1	312.136
+2896	1024	29074.2	93.9304	139758	1	346.182
+3025	1008	29699.4	92.3147	143174	1	384.36
+3158	993	29799.6	89.6491	145531	1	419.677
+3298	978	30068.5	87.4549	148075	1	456.818
+3444	964	30484.4	85.7264	151717	1	495.649
+3597	949	30460.5	83.4532	153677	1	533.564
+3756	935	30585	81.6112	156857	1	574.341
+3922	921	30793.7	80.162	160492	1	616.419
+4096	907	30772.9	78.2418	163456	1	656.826
+4277	894	31340	77.1535	167921	1.00112	698.394
+4467	880	31018.2	75.4325	173356	1.14318	666.156
+4664	867	31005.8	74.4622	186717	1.76471	385.374
+4871	854	31817.3	75.1698	196809	1.99883	319.118
+5087	841	33235.4	76.7095	205134	2	377.776
+5312	829	34945.7	79.0797	214136	2	435.483
+5547	816	36186.3	81.1771	223435	2	494.596
+5793	804	37286.1	82.8629	232603	2	558.544
+6049	792	38685.6	83.2438	241650	2	618.346
+6317	780	39326.9	81.865	248729	2.00256	680.409
+6597	769	39957.1	79.8757	258303	2.18986	646.576
+6889	757	40722.6	78.2784	277152	2.92338	342.273
+7194	746	41337.8	76.371	282743	2.99866	383.227
+7512	735	42042.2	74.5284	288272	3	462.355
+7845	724	42273.5	72.7873	293572	3	548.525
+8192	713	43096.8	71.8402	301919	3	630.376
+8555	702	43334.8	69.8179	307821	3.03846	691.782
+8933	692	44247.1	68.8169	329392	3.8237	386.429
+9329	681	44991.2	67.4327	336658	4	400.095
+9742	671	47073	66.2619	342230	4	503.644
+10173	661	50455.4	66.1164	352327	4	605.796
+10624	651	46066.1	64.1698	360126	4.05376	680.008
+11094	641	41351	63.4372	382602	4.85959	389.19
+11585	632	41963.6	63.1894	391019	5	443.101
+12098	622	42871.4	64.5492	400326	5	566.349
+12634	613	46168	67.8278	423452	5.02936	679.643
+13193	604	47309.6	70.4229	445425	5.87417	391.017
+13777	595	48522.7	71.4536	456461	6	473.82
+14387	586	50718.4	71.1424	469879	6.00171	616.852
+15024	577	51327.6	69.2811	480456	6.41248	559.548
+15689	568	53098.6	68.8102	501968	6.99824	440.653
+16384	560	53766.1	66.5495	508436	7	605.938
+17109	552	54873.2	65.4645	530080	7.45471	541.855
+17867	543	55193.4	63.9268	543341	8	467.497
+18658	535	56538.3	63.0391	562105	8.00935	651.262
+19484	527	57290.3	61.386	586545	8.91841	394.567
+20347	519	57988.4	60.5498	596636	9	565.285
+21247	512	58916	59.6349	622521	9.50586	522.738
+22188	504	57692.5	57.8209	626573	10	515.266
+23170	496	59663.3	57.3443	655657	10.2258	622.663
+24196	489	58253.6	56.2896	671110	11	500.434
+25268	482	59381.7	55.5676	695942	11.3278	588.517
+26386	474	59204.6	54.9447	719070	12	534.479
+27554	467	57972.2	54.1531	734730	12.6617	476.325
+28774	460	60010.9	54.9829	773198	13.0043	608.024
+30048	453	64554.1	57.0272	829038	13.9823	435.804
+31379	447	70970.9	59.2946	878284	14.2461	608.519
+32768	440	77468.2	61.6078	941557	15	575.989
+34219	433	80468.8	60.8948	985875	15.9838	443.889
+35734	427	82697.9	59.8648	1.01541e+06	16.5878	506.941
+37316	420	83438.1	58.2233	1.03898e+06	17.1024	629.224
+38968	414	87579.7	57.7482	1.09184e+06	18.0024	584.804
+40693	408	89970.6	56.7377	1.13164e+06	18.9975	519.456
+42495	402	91032.3	55.6326	1.16757e+06	19.9876	463.828
+44376	396	93752.5	54.7949	1.21124e+06	20.9293	444.538
+46341	390	95941	53.7206	1.24783e+06	21.8564	453.431
+48393	384	96950.5	53.0989	1.29397e+06	22.8594	451.315
+50535	378	99071.4	51.9507	1.32691e+06	23.9101	451.217
+52773	373	100383	51.3192	1.36837e+06	24.9598	476.879
+55109	367	102177	50.65	1.41586e+06	26.0082	521.951
+57549	362	102483	50.1692	1.45547e+06	27.0359	609.356
+60097	356	103483	49.9227	1.49928e+06	28.3202	578.736
+62757	351	103866	49.0747	1.54081e+06	29.8462	462.786
+65536	346	103639	49.0795	1.58216e+06	31.0202	560.795
+68438	340	102738	48.2422	1.63657e+06	32.4941	534.412
+71468	335	101200	48.1525	1.66802e+06	33.9821	520.34
+74632	330	93336.4	50.1686	1.53606e+06	35.1303	617.561
+77936	325	69852.3	52.3978	972000	36.2708	600.874
+81386	320	54209.4	53.2955	564572	38.5906	556.9
+84990	316	56310.1	51.5172	556199	40.0854	592.475
+88752	311	62836	52.2131	652450	41.5145	577
+92682	306	69176.5	51.3893	749059	42.9804	589.425
+96785	302	75165.6	50.6128	845563	44.7649	565.182
+101070	297	80447.8	49.9258	943653	46.835	541.956
+105545	293	86511.9	49.4866	1.04429e+06	49	556.84
+110218	288	92319.4	49.2008	1.15055e+06	51.2535	603.549
+115098	284	96352.1	48.0368	1.25369e+06	53.7817	536.82
+120194	280	99839.3	49.4362	1.35025e+06	56.1821	603.404
+125515	276	103453	47.9497	1.44836e+06	58.9384	547.634
+131072	271	103830	47.3459	1.53649e+06	61.7306	522.07
+136875	267	102903	48.5004	1.63757e+06	64.5581	544.112
+142935	263	95874.5	47.8558	1.56144e+06	67.2471	580.536
+149263	259	68579.2	49.7798	810834	71.3398	560.985
+155872	255	65200	50.3031	630102	75.0824	566.961
+162773	252	75075.4	50.1179	791028	77.8294	558.996
+169979	248	84068.5	49.1486	966956	80.4395	562.694
+177505	244	92082	49.8683	1.13338e+06	83.6148	547.779
+185364	241	99622.4	49.1457	1.29944e+06	87.0913	552.954
+193571	237	102722	47.8445	1.44503e+06	91.0633	559.688
+202141	233	105339	46.8883	1.60715e+06	95.2876	584.906
+211090	230	93669.6	50.546	1.48806e+06	99.6957	594.087
+220436	226	66845.1	50.6191	667739	106.15	588.934
+230195	223	77017.9	49.8475	791610	110.848	572.583
+240387	220	87718.2	49.1932	1.02315e+06	114.745	571.855
+251030	216	99300.9	48.8072	1.26241e+06	119.074	561.546
+262144	213	104380	47.7362	1.46434e+06	123.925	555.803
+273750	210	102000	47.3768	1.6147e+06	129.552	578.224
+285870	207	72386.5	48.7942	808333	137.778	567.271
+298527	204	78676.5	47.9718	813946	143.917	562.088
+311744	201	94313.4	49.0618	1.12708e+06	149.164	562.697
+325546	198	103056	47.8089	1.40624e+06	154.823	563.217
+339959	195	101918	47.6699	1.60165e+06	161.579	563.533
+355010	192	72546.9	48.6573	760464	171.146	581.24
+370728	189	88455	52.5609	975804	178.54	572.651
+387141	186	103382	53.0367	1.34358e+06	184.995	569.489
+404281	183	105497	51.6035	1.61511e+06	192.53	576.623
+422180	181	75348.1	49.1241	772403	203.796	564.608
+440872	178	90101.1	50.4108	1.05038e+06	212.062	570.865
+460391	175	106326	51.2593	1.45656e+06	220.097	582.806
+480774	173	88693.6	53.461	1.21479e+06	231.491	571.399
+502060	170	86000	53.1507	928465	242.241	572.012
+524288	167	104928	52.8466	1.40862e+06	251.251	567.581
+547500	165	89260.6	50.7933	1.18855e+06	263.873	563.012
+571740	162	91648.1	51.6062	1.01088e+06	275.944	569.907
+597053	160	105456	51.2914	1.52562e+06	286.231	575.894
+623487	158	79474.7	50.757	805006	301.449	558.766
+651091	155	100310	48.8136	1.29741e+06	313.419	580.619
+679917	153	88993.5	47.7947	1.1529e+06	328.092	571.039
+710020	151	95231.8	47.4707	1.14548e+06	342.497	573.887
+741455	148	95716.2	47.3328	1.36326e+06	357.243	577.601
+774282	146	96630.1	48.2813	1.12061e+06	373.747	582.767
+808563	144	91722.2	46.7315	1.28259e+06	390.188	554.361
+844361	142	98774.6	47.1296	1.1858e+06	407.549	579.479
+881744	140	84271.4	45.9832	994907	426.693	568.679
+920782	138	104130	47.5387	1.40901e+06	443.768	590.957
+961548	135	83740.7	45.5412	894822	465.763	564.659
+1004120	133	96060.2	46.9694	1.34998e+06	484.925	574.571
+1048576	131	102458	46.9916	1.31711e+06	506.374	600.344
+1095000	129	86666.7	45.6656	930829	530.403	586.016
+1143480	128	85101.6	45.2442	1.06322e+06	554.055	567.797
+1194106	126	102532	47.1191	1.45679e+06	576.96	556.532
+1246974	124	100839	47.298	1.32498e+06	603.177	569.25
+1302182	122	94950.8	46.7291	1.13885e+06	630.803	563.943
+1359835	120	88675	46.2353	985325	659.4	558.85
+1420040	118	85067.8	45.8523	916458	688.915	554.017
+1482910	116	84612.1	46.5319	901845	719.759	579.819
+1548564	115	83869.6	45.6195	905687	751.687	573.217
+1617125	113	86531	46.5189	942965	785.186	575.142
+1688722	111	90846.8	45.7107	1.01425e+06	819.901	571.216
+1763488	110	96063.6	44.7613	1.18597e+06	855.755	565.018
+1841564	108	101380	45.3541	1.37131e+06	893.204	557.565
+1923097	106	94358.5	44.4305	1.2352e+06	933.821	595.443
+2008240	105	86371.4	45.5881	955048	976.152	562.181
+2097152	103	99572.8	45.7643	1.28837e+06	1018.5	543.233
+2190001	102	89196.1	45.5646	1.13859e+06	1064.64	574.961
+2286960	100	95930	46.1082	1.16885e+06	1111.6	562.5
+2388213	99	91383.8	45.3841	1.10649e+06	1161.64	583.091
+2493948	97	100206	44.9902	1.31921e+06	1212.29	546.082
+2604365	96	91781.2	45.2787	1.04554e+06	1267.48	575.156
+2719670	94	87478.7	45.4319	1.04923e+06	1323.67	568.489
+2840080	93	92763.4	46.749	1.20652e+06	1382.46	571.333
+2965821	91	96945.1	49.8238	1.26675e+06	1443.38	595.385
+3097129	90	94944.4	47.8151	1.26537e+06	1507.97	595.367
+3234251	89	92224.7	47.2517	1.18671e+06	1575.26	562.876
+3377443	87	90264.4	47.088	1.04713e+06	1646.01	580.218
+3526975	86	95255.8	48.1014	1.1655e+06	1718.62	574.581
+3683128	85	96576.5	47.2034	1.25373e+06	1794.85	574.165
+3846194	83	92710.8	47.8028	1.08846e+06	1875.45	565.337
+4016479	82	95378	47.0941	1.23201e+06	1958.06	583.134
+4194304	81	97345.7	46.4886	1.24591e+06	2045.14	590.049
+4380002	80	94537.5	46.247	1.1855e+06	2136.03	576.375
+4573921	79	94949.4	46.6133	1.18132e+06	2231.41	579.506
+4776426	77	100052	46.9686	1.23786e+06	2330.38	588.481
+4987896	76	98144.7	46.848	1.24691e+06	2433.84	565.711
+5208729	75	93346.7	46.7353	1.1296e+06	2542.47	561.547
+5439339	74	95067.6	47.509	1.22524e+06	2655.26	568.014
+5680159	73	97178.1	45.9181	1.1631e+06	2773.38	598.151
+5931642	72	93958.3	44.758	1.12617e+06	2896.82	574.014
+6194258	71	92802.8	44.8097	1.13717e+06	3025.77	558.789
+6468501	70	94371.4	44.4499	1.15046e+06	3159.87	558.671
+6754886	69	94318.8	44.1984	1.18719e+06	3300.28	580.058
+7053950	67	94238.8	45.4648	1.14888e+06	3446.88	572.03
+7366255	66	94621.2	45.6998	1.14712e+06	3600.29	572.561
+7692387	65	93661.5	44.7761	1.14728e+06	3759.8	574.477
+8032959	64	95656.2	44.1764	1.19073e+06	3926.77	595.203
+8388608	64	94203.1	43.7826	1.18773e+06	4101.2	558.906
diff --git a/cpp/results/frequent_items_merge_timing_string_lgk10_zipf11_short_move.tsv b/cpp/results/frequent_items_merge_timing_string_lgk10_zipf11_short_move.tsv
new file mode 100644
index 0000000..45cb6d0
--- /dev/null
+++ b/cpp/results/frequent_items_merge_timing_string_lgk10_zipf11_short_move.tsv
@@ -0,0 +1,319 @@
+1	16384	15124.3	48.4619	165.039	0	1
+2	12874	14949.9	43.7316	215.162	0	1.96784
+3	11180	14915.7	39.4753	260.018	0	2.90045
+4	10115	14857.8	38.3836	310.826	0	3.80237
+5	9360	14877.1	35.7051	349.573	0	4.69177
+6	8785	14966.6	33.6559	406.261	0	5.55003
+7	8326	15488	31.7594	827.048	0	6.3865
+8	7948	15681.2	33.4833	1057	0	7.20055
+9	7629	15334.6	30.92	1191.77	0	8.01337
+10	7355	15558.7	31.6791	1293.27	0	8.81917
+11	7115	15576.7	29.8473	1320.31	0	9.6059
+12	6903	15403.2	29.5041	1367.96	0	10.3781
+13	6713	14943.2	28.7273	1543.13	0	11.1202
+14	6542	14695.5	28.8793	1744.88	0	11.9121
+15	6387	15052.9	28.2866	1984.5	0	12.605
+16	6245	14467.6	27.9724	2129.06	0	13.3593
+17	6115	15205.9	29.0029	2322.32	0	14.0275
+18	5995	14601.5	27.282	2376.31	0	14.8075
+19	5883	15230.3	28.1722	2471.53	0	15.4987
+20	5779	15055	27.3231	2577.09	0	16.2144
+21	5682	15017.8	26.8014	2591.17	0	16.9065
+22	5591	15347.3	27.3248	2642.46	0	17.6047
+23	5505	15597.8	26.8768	2959.13	0	18.2621
+24	5424	15596.6	26.7868	2946.35	0	19.045
+25	5347	15315.9	26.6991	2858.24	0	19.6035
+26	5275	15741.8	27.8017	2942.37	0	20.3448
+27	5206	14964.5	26.9418	2979.83	0	20.971
+28	5141	14784.9	26.5026	3071.78	0	21.6401
+29	5078	14785.9	26.0556	3210.71	0	22.2519
+31	4962	14772.5	26.1796	3527.01	0	23.6116
+32	4907	14752.2	26.1807	3668.23	0	24.2134
+33	4855	14719.9	26.4207	3835.63	0	24.8754
+35	4757	14620.1	26.6615	4112.89	0	26.0942
+36	4710	15505.5	27.3649	4442.25	0	26.7798
+38	4623	19399.5	38.5544	5433.92	0	27.9686
+40	4541	17072	29.4814	5105.92	0	29.2063
+41	4502	14902.7	26.7632	4759.44	0	29.9947
+43	4428	15083.1	26.3702	4837.62	0	31.0935
+45	4359	14744.2	27.05	4923.38	0	32.3599
+47	4293	14881.2	26.7234	5016.54	0	33.5404
+49	4231	14719.2	26.833	5155.99	0	34.7157
+52	4145	16215.4	28.4727	5599.76	0	36.4854
+54	4091	15532.9	27.5401	5547.3	0	37.7634
+56	4039	15078	26.9471	5583.56	0	38.977
+59	3967	15552.6	27.4083	5784.47	0	40.6476
+61	3921	15417.5	27.4269	5924.25	0	41.7697
+64	3856	15545.1	27.6233	6186.72	0	43.5358
+67	3795	16285.1	28.2619	6772.86	0	45.1552
+70	3738	15413.9	27.5204	6962.55	0	46.8432
+73	3683	15384.2	27.8176	7402.93	0	48.4784
+76	3632	15474.9	27.4497	7766.24	0	50.182
+79	3584	15224.6	27.8417	8112.44	0	51.8304
+83	3523	15412.1	27.7967	8483.96	0	54.0216
+87	3465	15191.3	28.2331	8791.92	0	56.0499
+91	3412	15167.9	28.0072	8930.83	0	58.3438
+95	3361	16309.7	27.6609	9070.51	0	60.3246
+99	3313	15938.7	28.8396	9421.67	0	62.5047
+103	3268	15019.6	28.4221	9460.22	0	64.5483
+108	3214	15051.6	28.426	9640.63	0	67.1985
+112	3174	15364.5	28.8814	9914.93	0	69.0788
+117	3126	15715	29.0287	10165.1	0	71.7674
+123	3072	15748.7	29.1831	10353.8	0	74.6725
+128	3030	16235	29.3936	10552.1	0	77.1884
+134	2982	15426.6	29.4879	10650.9	0	80.0278
+140	2937	15897.2	29.9455	10989.1	0	83.1825
+146	2894	15441.6	30.2373	11285.1	0	86.0871
+152	2854	15436.6	30.8962	11676.2	0	88.7628
+159	2810	16014.2	31.1354	12578.3	0	92.2456
+166	2768	16431.7	31.7636	13266.6	0	95.5553
+173	2728	16198.7	32.3132	14130.9	0	98.548
+181	2686	15924.1	32.5033	14892.4	0	102.407
+189	2646	15894.6	33.4577	15395.7	0	105.928
+197	2608	16667.2	43.554	16030.7	0	109.67
+206	2568	17644.9	60.5038	16702.5	0	113.63
+215	2530	18398.8	75.472	17229.6	0	117.618
+225	2490	19286.7	91.4128	17865.1	0	122.346
+235	2453	19432.5	97.5878	18291.9	0	126.425
+245	2417	19710.8	102.963	18662.8	0	130.691
+256	2381	19787.9	108.499	19073.5	0	135.343
+267	2346	19841.9	108.986	19393	0	140.258
+279	2310	20085.3	110.894	19980.5	0	145.406
+292	2274	20365	111.774	20582.2	0	150.812
+304	2242	19994.2	108.796	20583	0	155.492
+318	2208	20109.1	107.304	21061.1	0	161.424
+332	2175	20197.7	105.557	21611	0	166.933
+347	2142	20409.9	104.291	22150.8	0	173.183
+362	2110	20310.9	101.486	22675.4	0	178.912
+378	2079	20221.3	98.7883	23952.9	0	185.27
+395	2047	21929.7	107.186	27269.2	0	191.59
+412	2017	20523.5	104.592	28481.9	0	198.243
+431	1986	20662.1	109.742	30506	0	205.403
+450	1956	20637	114.86	31640.6	0	212.536
+470	1927	20684	119.66	32689.7	0	219.987
+490	1899	20742.5	123.193	33429.7	0	227.514
+512	1870	20744.4	126.261	34449.2	0	235.32
+535	1842	20671	126.685	35111.8	0	243.726
+558	1815	20977.4	127.854	36427.5	0	251.888
+583	1788	20582.8	124.78	36563.2	0	260.496
+609	1761	20725.2	123.561	37453.7	0	269.853
+636	1735	20896.3	121.124	38297.4	0	279.361
+664	1709	20818.6	118.291	38897	0	288.884
+693	1683	20865.1	114.908	39623.9	0	298.418
+724	1658	20919.8	111.823	40171.3	0	308.466
+756	1633	20965.7	109.135	41039.8	0	319.805
+790	1608	20921.6	106.014	41645.5	0	330.394
+825	1584	21025.9	104.167	42755.1	0	341.819
+861	1561	21177.5	103.434	44041.6	0	352.787
+899	1538	21704.8	104.473	46445.4	0	365.233
+939	1515	21866	105.544	50825.7	0	377.548
+981	1492	22791.6	108.724	57060.3	0	390.46
+1024	1470	22906.1	110.843	61425.2	0	403.886
+1069	1448	23589.1	114.13	64447.5	0	417.602
+1117	1426	23599.6	115.246	66122.7	0	431.403
+1166	1405	23896.1	115.707	67607.1	0	446.186
+1218	1384	24184.2	114.305	69035.4	0	460.871
+1272	1363	24468.8	113.267	70593.5	0	476.323
+1328	1343	24827.3	110.768	72027.6	0	492.463
+1387	1322	25039.3	108.199	73368.4	0	508.458
+1448	1303	24989.3	104.768	74402.9	0	525.665
+1512	1283	25240.8	102.348	75850.4	0	543.544
+1579	1264	25352.1	99.6019	76949.4	0	561.782
+1649	1245	25380.7	96.8746	78340.6	0	578.479
+1722	1226	25613.4	94.9994	80059.5	0	598.983
+1798	1208	25596.9	92.7447	81553.8	0	618.656
+1878	1190	25731.9	90.8838	82868.1	0	638.414
+1961	1172	25710.8	89.5147	84732.1	0	659.485
+2048	1155	25927.3	88.8194	86806.1	0	681.323
+2139	1137	26358	89.8812	91047.5	0	703.857
+2233	1120	26836.6	91.9643	95941.1	0.0178571	715.935
+2332	1104	27592.4	94.751	104001	0.178442	648.935
+2435	1087	27920	97.391	116024	0.624655	422.787
+2543	1071	28407.1	97.5678	123391	0.94211	275.315
+2656	1055	28565.9	97.378	127535	1	276.67
+2774	1039	28956.7	96.0667	130217	1	313.33
+2896	1024	29117.2	94.0204	132895	1	346.962
+3025	1008	29255	91.5745	134733	1	383.296
+3158	993	29984.9	89.9555	138352	1	420.041
+3298	978	29878.3	87.7464	140492	1	457.507
+3444	964	30052.9	85.6396	142479	1	493.872
+3597	949	30304.5	83.4198	145255	1	534.506
+3756	935	30461	81.5015	147596	1	574.222
+3922	921	30710.1	79.9242	150515	1	615.466
+4096	907	30695.7	78.2004	153505	1	656.63
+4277	894	30825.5	76.8564	156979	1.00447	694.893
+4467	880	30951.1	75.5042	162993	1.14205	666.022
+4664	867	31149.9	74.8626	176889	1.78201	375.874
+4871	854	31867.7	74.8713	184809	1.99649	320.636
+5087	841	33014.3	76.3752	192646	2	377.943
+5312	829	34513.9	79.1455	202639	2	434.168
+5547	816	35529.4	81.3682	211607	2	496.571
+5793	804	36722.6	82.7135	219927	2	557.526
+6049	792	37895.2	82.1797	226124	2	618.239
+6317	780	38553.8	81.4495	235417	2.00128	680.508
+6597	769	39734.7	79.8507	246187	2.20806	636.189
+6889	757	40624.8	78.1895	263376	2.92734	341.305
+7194	746	40982.6	75.828	267349	3	384.05
+7512	735	41946.9	74.4097	273118	3	467.288
+7845	724	42400.6	72.7141	277615	3	546.82
+8192	713	42949.5	71.0833	283509	3	629.143
+8555	702	43703.7	70.0998	292815	3.04416	689.456
+8933	692	44173.4	68.1355	308847	3.79046	400.642
+9329	681	44732.7	67.0012	314934	3.99853	398.869
+9742	671	45620	66.0716	321835	4	502.68
+10173	661	47121	64.8891	328147	4	605.847
+10624	651	48428.6	63.9408	335790	4.04762	684.063
+11094	641	44237.1	63.1316	358743	4.86895	385.452
+11585	632	42125	62.917	367886	5	447.277
+12098	622	43064.3	64.1234	376984	5	569.502
+12634	613	44942.9	67.2876	393825	5.02284	683.135
+13193	604	47160.6	70.0105	420935	5.87748	388.119
+13777	595	48865.5	70.7792	434202	6	478.511
+14387	586	50015.4	70.6547	442474	6	618.788
+15024	577	51443.7	69.2553	458908	6.46274	537.523
+15689	568	51857.4	67.8123	468803	6.99824	437.354
+16384	560	53269.6	66.3868	476875	7	606.511
+17109	552	54094.2	64.7374	493888	7.49638	527.424
+17867	543	55289.1	63.4324	511116	7.99816	462.418
+18658	535	55786.9	62.3621	522503	8.00561	648.536
+19484	527	56963.9	60.9693	544397	8.9203	392.915
+20347	519	58215.8	60.4589	561270	9	567.89
+21247	512	58570.3	58.8434	573789	9.49219	529.781
+22188	504	59234.1	57.8816	592758	10	515.069
+23170	496	59082.7	56.7	603998	10.2843	598.978
+24196	489	58842.5	55.9194	624415	10.998	501.544
+25268	482	58867.2	55.3944	644840	11.2925	597.637
+26386	474	58542.2	54.94	661536	12	532.918
+27554	467	58888.7	53.9523	686099	12.7002	462.403
+28774	460	59923.9	54.1451	710163	13.0065	606.78
+30048	453	64125.8	55.9869	763137	13.9691	438.623
+31379	447	71022.4	58.6146	821935	14.2438	612.678
+32768	440	76270.5	60.8718	882436	15.0023	578.427
+34219	433	79219.4	60.1528	920192	15.9931	441.695
+35734	427	80955.5	58.5041	949112	16.6253	490.012
+37316	420	83797.6	57.9786	979950	17.0905	632.626
+38968	414	85082.1	56.2812	1.01838e+06	18.0072	591.536
+40693	408	87985.3	55.4894	1.05913e+06	18.9926	513.132
+42495	402	90313.4	55.0727	1.0965e+06	19.9726	465.604
+44376	396	92176.8	53.3503	1.12786e+06	20.9116	454.253
+46341	390	96261.5	52.6431	1.16884e+06	21.8692	454.167
+48393	384	96661.5	51.378	1.20131e+06	22.8802	446.862
+50535	378	98127	50.9817	1.23542e+06	23.8942	461.899
+52773	373	99992	50.401	1.27839e+06	24.9732	470.421
+55109	367	101297	49.7365	1.30451e+06	25.9973	536.88
+57549	362	102461	48.9688	1.34389e+06	27.0387	595.235
+60097	356	104138	48.9084	1.38892e+06	28.3371	575.242
+62757	351	104533	48.014	1.4237e+06	29.8575	460.84
+65536	346	102832	47.1278	1.45281e+06	31.026	549.798
+68438	340	102912	47.0824	1.51059e+06	32.4529	545.968
+71468	335	101140	47.4049	1.54402e+06	33.997	518.51
+74632	330	93524.2	47.7289	1.41586e+06	35.1182	619.612
+77936	325	69267.7	50.4413	918086	36.2585	586.665
+81386	320	53156.2	52.2922	537275	38.5344	567.862
+84990	316	53699.4	50.4845	532051	40.0949	600.022
+88752	311	61086.8	49.9283	624814	41.4598	599.257
+92682	306	67339.9	49.9826	712261	43.0425	588.549
+96785	302	73576.2	49.2169	812305	44.8146	556.536
+101070	297	79532	47.9683	904912	46.8721	536.236
+105545	293	85542.7	47.4968	996198	49.0171	567.362
+110218	288	90781.2	47.0239	1.08583e+06	51.2674	590.556
+115098	284	96552.8	46.3152	1.17764e+06	53.8169	533.806
+120194	280	100061	47.0014	1.27042e+06	56.1893	591.818
+125515	276	103862	46.6566	1.35522e+06	58.9674	531.188
+131072	271	104542	47.0039	1.43909e+06	61.6937	550.83
+136875	267	103858	45.6807	1.53057e+06	64.5393	546.049
+142935	263	95635	46.2657	1.45303e+06	67.2624	585.494
+149263	259	65725.9	48.6056	745880	71.4981	568.475
+155872	255	62160.8	47.7015	603616	75.0745	559.557
+162773	252	73246	48.4329	761897	77.7976	557.183
+169979	248	81883.1	47.146	914254	80.4194	568.395
+177505	244	92086.1	47.7767	1.08151e+06	83.5492	561.426
+185364	241	98485.5	45.6565	1.21495e+06	87.0954	556.967
+193571	237	102595	46.2971	1.34769e+06	91.038	576.654
+202141	233	104751	46.1447	1.48394e+06	95.3176	560.966
+211090	230	94243.5	47.2828	1.39483e+06	99.7348	581.713
+220436	226	65199.1	48.0642	647500	106.296	565.969
+230195	223	74188.3	47.4579	756596	110.839	572.04
+240387	220	86836.4	48.3926	974014	114.686	557.927
+251030	216	97463	47.7293	1.18565e+06	119.074	558.273
+262144	213	103516	46.6337	1.3707e+06	123.925	575.606
+273750	210	102300	48.163	1.50503e+06	129.586	576.319
+285870	207	70850.2	47.8883	756942	137.923	549.952
+298527	204	77455.9	47.776	784029	143.912	571.319
+311744	201	92766.2	47.0288	1.06597e+06	149.159	556.746
+325546	198	103071	46.9463	1.32277e+06	154.793	565.747
+339959	195	102062	45.2636	1.49437e+06	161.513	559.908
+355010	192	70578.1	47.6649	708167	171.318	560.906
+370728	189	85005.3	47.3877	904365	178.487	568.513
+387141	186	101113	46.042	1.22786e+06	185.086	565.817
+404281	183	103732	45.8031	1.46702e+06	192.59	549.683
+422180	181	72105	46.8106	718000	203.873	559.53
+440872	178	89342.7	46.4985	981674	212.163	575.691
+460391	175	104269	45.6456	1.35159e+06	220.166	555.84
+480774	173	86843.9	45.6478	1.13562e+06	231.301	587.832
+502060	170	83482.4	47.4602	872365	242.306	563.965
+524288	167	103551	44.4907	1.30312e+06	251.281	580.449
+547500	165	85436.4	47.1902	1.08248e+06	264.133	562.758
+571740	162	88821	45.091	946840	275.796	574.389
+597053	160	104119	44.0681	1.40143e+06	286.144	581.712
+623487	158	77348.1	47.5045	769627	301.494	561.576
+651091	155	100574	45.4647	1.2064e+06	313.265	585.697
+679917	153	87411.8	44.5493	1.08771e+06	328.124	573.131
+710020	151	95112.6	44.8286	1.06152e+06	342.503	567.894
+741455	148	94783.8	46.1964	1.26822e+06	357.338	569
+774282	146	93938.4	44.2002	1.04364e+06	373.795	558.87
+808563	144	93173.6	43.8941	1.22922e+06	390.125	559.132
+844361	142	98197.2	45.2587	1.13047e+06	407.803	570.324
+881744	140	83814.3	45.1048	936971	426.686	561.764
+920782	138	102594	44.703	1.30709e+06	444.087	562.319
+961548	135	83563	45.4488	855600	465.741	560.304
+1004120	133	95834.6	43.4691	1.24742e+06	485.135	577.94
+1048576	131	101366	44.1719	1.24118e+06	506.489	573.397
+1095000	129	85976.7	45.9107	886504	530.434	568.798
+1143480	128	85257.8	43.5776	978648	553.891	566.578
+1194106	126	103127	45.3294	1.36788e+06	577.222	557.095
+1246974	124	101774	44.9692	1.26409e+06	603.185	564.185
+1302182	122	94926.2	44.6825	1.07307e+06	630.754	586.705
+1359835	120	89400	43.8583	925692	659.383	568.05
+1420040	118	84355.9	44.3584	864492	688.975	565.466
+1482910	116	82689.7	45.6386	868681	719.733	580.655
+1548564	115	82878.3	43.1488	865696	751.704	573.635
+1617125	113	87212.4	45.7109	914752	785.239	554.336
+1688722	111	89225.2	44.7863	959324	820.072	563.964
+1763488	110	96736.4	44.1459	1.11785e+06	855.682	573.227
+1841564	108	102056	44.4192	1.28823e+06	893.352	557.917
+1923097	106	92924.5	44.2086	1.16892e+06	933.613	584.623
+2008240	105	86038.1	44.4033	908286	976.438	565.171
+2097152	103	98417.5	44.2892	1.20884e+06	1018.53	586.01
+2190001	102	89852.9	42.6507	1.07083e+06	1064.75	562.314
+2286960	100	95460	43.752	1.10183e+06	1111.63	583.26
+2388213	99	88444.4	43.2322	1.03411e+06	1161.55	565.091
+2493948	97	100206	42.8939	1.23572e+06	1212.67	578.196
+2604365	96	91937.5	43.1577	995750	1267.52	576.688
+2719670	94	87531.9	42.4807	983904	1323.81	581.33
+2840080	93	94053.8	43.8607	1.13942e+06	1382.16	576.376
+2965821	91	95989	43.8694	1.18922e+06	1443.86	556.956
+3097129	90	98155.6	43.8923	1.19596e+06	1508.06	550.356
+3234251	89	91528.1	44.2537	1.10853e+06	1575.31	570.742
+3377443	87	91770.1	45.9663	1.00266e+06	1645.93	562.046
+3526975	86	96395.3	45.2286	1.11976e+06	1718.94	574.814
+3683128	85	94670.6	42.0166	1.17532e+06	1794.98	551.6
+3846194	83	96698.8	45.3045	1.0503e+06	1875.17	576.735
+4016479	82	92975.6	44.3606	1.11365e+06	1958.82	555.61
+4194304	81	97123.5	44.0999	1.17995e+06	2045.23	572.753
+4380002	80	96362.5	46.4486	1.143e+06	2136.4	575.862
+4573921	79	97291.1	44.1858	1.12016e+06	2231.44	566.405
+4776426	77	98142.9	44.4767	1.15795e+06	2330.58	563.026
+4987896	76	96565.8	44.2459	1.17807e+06	2434.24	555.171
+5208729	75	93160	45.3355	1.06285e+06	2542.8	589.373
+5439339	74	96486.5	44.3617	1.1693e+06	2655.58	570.149
+5680159	73	94465.8	44.6944	1.10071e+06	2773.41	582.63
+5931642	72	92402.8	44.6007	1.06297e+06	2897.5	590.806
+6194258	71	93014.1	44.7498	1.07369e+06	3026.07	551.465
+6468501	70	95071.4	45.1187	1.13521e+06	3160.29	547.7
+6754886	69	94565.2	44.4122	1.12191e+06	3300.57	573.768
+7053950	67	96268.7	44.3835	1.12243e+06	3447.21	595.955
+7366255	66	94697	45.5218	1.08126e+06	3600.71	569.5
+7692387	65	95215.4	44.2951	1.10966e+06	3759.97	572.169
+8032959	64	95171.9	44.8602	1.11152e+06	3927.73	567.766
+8388608	64	94093.8	45.5677	1.10409e+06	4101.72	556.062
diff --git a/cpp/src/frequent_items_merge_timing_profile.cpp b/cpp/src/frequent_items_merge_timing_profile.cpp
new file mode 100644
index 0000000..4a3b8ef
--- /dev/null
+++ b/cpp/src/frequent_items_merge_timing_profile.cpp
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#include <iostream>
+#include <algorithm>
+#include <random>
+#include <chrono>
+#include <sstream>
+
+#include <frequent_items_sketch.hpp>
+
+#include "frequent_items_merge_timing_profile.hpp"
+#include "zipf_distribution.hpp"
+
+namespace datasketches {
+
+void frequent_items_merge_timing_profile::run() {
+  const unsigned lg_min_stream_len = 0;
+  const unsigned lg_max_stream_len = 23;
+  const unsigned ppo = 16;
+
+  const unsigned lg_max_trials = 14;
+  const unsigned lg_min_trials = 4;
+
+  const unsigned lg_max_sketch_size = 10;
+
+  const unsigned zipf_lg_range = 13; // range: 8K values for 1K sketch
+  const double zipf_exponent = 1.1;
+  zipf_distribution zipf(1 << zipf_lg_range, zipf_exponent);
+  const unsigned long long high_bit = 1ULL << 63;
+
+  const size_t num_sketches = 32;
+
+  size_t max_len = 1 << lg_max_stream_len;
+  std::vector<std::string> values(max_len);
+  std::unique_ptr<frequent_items_sketch<std::string>> sketches[num_sketches];
+
+  std::cout << "StreamLen\tTrials\tBuild\tUpdate\tMerge\tMaxErr\tNumItems" << std::endl;
+
+  size_t stream_length = 1 << lg_min_stream_len;
+  while (stream_length <= 1 << lg_max_stream_len) {
+    std::chrono::nanoseconds build_time_ns(0);
+    std::chrono::nanoseconds update_time_ns(0);
+    std::chrono::nanoseconds merge_time_ns(0);
+    unsigned num_items = 0;
+    unsigned max_error = 0;
+
+    const size_t num_trials = get_num_trials(stream_length, lg_min_stream_len, lg_max_stream_len, lg_min_trials, lg_max_trials);
+
+    for (size_t t = 0; t < num_trials; t++) {
+      const auto start_build(std::chrono::high_resolution_clock::now());
+      for (size_t i = 0; i < num_sketches; i++) {
+        sketches[i] = std::unique_ptr<frequent_items_sketch<std::string>>(new frequent_items_sketch<std::string>(lg_max_sketch_size));
+      }
+      frequent_items_sketch<std::string> merge_sketch(lg_max_sketch_size);
+      const auto finish_build(std::chrono::high_resolution_clock::now());
+      build_time_ns += std::chrono::duration_cast<std::chrono::nanoseconds>(finish_build - start_build);
+
+      // prepare values to exclude cost from the update loop
+      // set the highest bit in 64-bit value to make strings longer so we can compare copying and moving better
+      for (size_t i = 0; i < stream_length; i++) values[i] = std::to_string(zipf.sample() | high_bit);
+
+      // spray input evenly across all sketches to be merged
+      const auto start_update(std::chrono::high_resolution_clock::now());
+      size_t i = 0;
+      for (size_t j = 0; j < stream_length; j++) {
+        sketches[i]->update(values[j]);
+        i++;
+        if (i == num_sketches) i = 0;
+      }
+      const auto finish_update(std::chrono::high_resolution_clock::now());
+      update_time_ns += std::chrono::duration_cast<std::chrono::nanoseconds>(finish_update - start_update);
+
+      const auto start_merge(std::chrono::high_resolution_clock::now());
+      for (size_t i = 0; i < num_sketches; i++) {
+        //merge_sketch.merge(*sketches[i]);
+        merge_sketch.merge(std::move(*sketches[i]));
+      }
+      const auto finish_merge(std::chrono::high_resolution_clock::now());
+      merge_time_ns += std::chrono::duration_cast<std::chrono::nanoseconds>(finish_merge - start_merge);
+
+      num_items += merge_sketch.get_num_active_items();
+      max_error += merge_sketch.get_maximum_error();
+    }
+
+    std::cout << stream_length << "\t"
+        << num_trials << "\t"
+        << (double) build_time_ns.count() / num_trials << "\t"
+        << (double) update_time_ns.count() / num_trials / stream_length << "\t"
+        << (double) merge_time_ns.count() / num_trials << "\t"
+        << (double) max_error / num_trials << "\t"
+        << (double) num_items / num_trials
+        << std::endl;
+
+    stream_length = pwr_2_law_next(ppo, stream_length);
+  }
+}
+
+}
diff --git a/cpp/src/frequent_items_merge_timing_profile.hpp b/cpp/src/frequent_items_merge_timing_profile.hpp
new file mode 100644
index 0000000..e8f9cdb
--- /dev/null
+++ b/cpp/src/frequent_items_merge_timing_profile.hpp
@@ -0,0 +1,34 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#ifndef FREQUENT_ITEMS_MERGE_TIMING_PROFILE_HPP_
+#define FREQUENT_ITEMS_MERGE_TIMING_PROFILE_HPP_
+
+#include "job_profile.hpp"
+
+namespace datasketches {
+
+class frequent_items_merge_timing_profile: public job_profile {
+public:
+  void run();
+};
+
+}
+
+#endif
diff --git a/cpp/src/main.cpp b/cpp/src/main.cpp
index 3879073..43d5b0d 100644
--- a/cpp/src/main.cpp
+++ b/cpp/src/main.cpp
@@ -34,6 +34,7 @@
 #include "kll_merge_timing_profile.hpp"
 
 #include "frequent_items_sketch_timing_profile.hpp"
+#include "frequent_items_merge_timing_profile.hpp"
 
 #include "kll_sketch_accuracy_profile.hpp"
 #include "kll_merge_accuracy_profile.hpp"
@@ -69,6 +70,7 @@ int main(int argc, char **argv) {
   job_profile::add("kll-merge-timing-float", job_profile_ptr(new kll_merge_timing_profile<float>()));
   job_profile::add("kll-merge-timing-string", job_profile_ptr(new kll_merge_timing_profile<std::string>()));
   job_profile::add("fi-sketch-timing", job_profile_ptr(new frequent_items_sketch_timing_profile()));
+  job_profile::add("fi-merge-timing", job_profile_ptr(new frequent_items_merge_timing_profile()));
 
   job_profile::add("cpc-sketch-accuracy", job_profile_ptr(new cpc_sketch_accuracy_profile()));
   job_profile::add("cpc-union-accuracy", job_profile_ptr(new cpc_union_accuracy_profile()));


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org