Skip to content

Conversation

@Jibing-Li
Copy link
Contributor

@Jibing-Li Jibing-Li commented Apr 25, 2025

What problem does this PR solve?

BE side use fmt::format_to to cast double to string, FE use Double.toString(), we need to make sure FE and BE generate identical cast result:
e.g. 1E10 -> 1e+10, NaN-> nan, Infinity -> inf
Besides, when the double literal value is larger than 1E16 or less than -1E16, skip FE side constant folding because we don't know the exact behavior of fmt::format_to, so skip FE side constant folding and leave the cast operation to BE.

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

@Thearas
Copy link
Contributor

Thearas commented Apr 25, 2025

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@Jibing-Li
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 34161 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 610033a44b239f3207b05f5443b92610010a25dd, data reload: false

------ Round 1 ----------------------------------
q1	25994	5075	5033	5033
q2	2074	284	186	186
q3	10405	1232	713	713
q4	10247	1013	581	581
q5	7761	2417	2341	2341
q6	196	163	136	136
q7	917	764	595	595
q8	9321	1279	1088	1088
q9	6787	5105	5086	5086
q10	6814	2336	1881	1881
q11	490	297	275	275
q12	371	366	217	217
q13	17785	3706	3099	3099
q14	240	222	206	206
q15	533	476	487	476
q16	441	463	397	397
q17	604	873	381	381
q18	7494	7240	7147	7147
q19	1198	943	574	574
q20	339	336	226	226
q21	4412	3490	2554	2554
q22	1054	1004	969	969
Total cold run time: 115477 ms
Total hot run time: 34161 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5120	5089	5089	5089
q2	231	334	231	231
q3	2116	2668	2285	2285
q4	1422	1828	1383	1383
q5	4560	4460	4437	4437
q6	219	167	130	130
q7	1969	1937	1776	1776
q8	2560	2489	2484	2484
q9	7155	7160	7111	7111
q10	2988	3184	2723	2723
q11	567	496	497	496
q12	680	776	621	621
q13	3552	3967	3199	3199
q14	287	308	259	259
q15	518	481	491	481
q16	465	512	470	470
q17	1187	1582	1306	1306
q18	7726	7492	7389	7389
q19	825	840	905	840
q20	1973	2005	1859	1859
q21	5165	4719	4721	4719
q22	1079	1014	972	972
Total cold run time: 52364 ms
Total hot run time: 50260 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 185321 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 610033a44b239f3207b05f5443b92610010a25dd, data reload: false

query1	1005	479	474	474
query2	6555	1936	1909	1909
query3	6740	222	217	217
query4	26392	23507	23074	23074
query5	4391	627	465	465
query6	314	198	185	185
query7	4614	493	281	281
query8	294	252	244	244
query9	8583	2559	2571	2559
query10	484	312	258	258
query11	15553	15030	14848	14848
query12	152	113	113	113
query13	1671	514	403	403
query14	8717	6199	6231	6199
query15	210	192	162	162
query16	7191	629	466	466
query17	1184	717	580	580
query18	1960	402	314	314
query19	189	181	150	150
query20	126	115	118	115
query21	209	124	107	107
query22	4171	4319	3991	3991
query23	33833	33095	32748	32748
query24	8424	2409	2365	2365
query25	537	469	394	394
query26	1227	267	150	150
query27	2764	498	334	334
query28	4371	2115	2111	2111
query29	746	551	422	422
query30	282	214	189	189
query31	923	868	776	776
query32	73	64	64	64
query33	559	377	308	308
query34	786	855	514	514
query35	781	805	735	735
query36	964	976	894	894
query37	113	105	74	74
query38	4183	4201	4152	4152
query39	1466	1384	1393	1384
query40	212	122	115	115
query41	63	61	59	59
query42	119	107	114	107
query43	484	510	492	492
query44	1281	808	807	807
query45	181	173	170	170
query46	831	1025	644	644
query47	1729	1806	1727	1727
query48	368	411	298	298
query49	768	532	413	413
query50	626	668	412	412
query51	4084	4092	4217	4092
query52	106	99	108	99
query53	232	249	189	189
query54	569	572	525	525
query55	86	83	79	79
query56	317	286	281	281
query57	1114	1113	1070	1070
query58	275	249	246	246
query59	2736	2790	2647	2647
query60	321	318	294	294
query61	133	126	127	126
query62	796	738	688	688
query63	226	185	182	182
query64	4363	1008	676	676
query65	4298	4244	4271	4244
query66	1151	454	319	319
query67	15721	15389	15163	15163
query68	7748	872	514	514
query69	480	307	263	263
query70	1202	1123	1144	1123
query71	390	326	297	297
query72	5578	4723	4637	4637
query73	621	564	344	344
query74	9022	9121	8701	8701
query75	3184	3203	2687	2687
query76	3187	1188	753	753
query77	455	374	287	287
query78	9871	10118	9233	9233
query79	1899	802	603	603
query80	641	536	447	447
query81	496	256	223	223
query82	343	124	96	96
query83	250	263	231	231
query84	249	109	89	89
query85	790	356	323	323
query86	378	296	299	296
query87	4349	4481	4330	4330
query88	2810	2230	2226	2226
query89	369	316	283	283
query90	1804	212	212	212
query91	143	144	111	111
query92	68	62	62	62
query93	1202	935	582	582
query94	624	385	304	304
query95	383	341	279	279
query96	479	570	273	273
query97	3122	3232	3115	3115
query98	224	212	205	205
query99	1275	1433	1300	1300
Total cold run time: 269563 ms
Total hot run time: 185321 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 29.99 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 610033a44b239f3207b05f5443b92610010a25dd, data reload: false

query1	0.03	0.03	0.03
query2	0.12	0.10	0.12
query3	0.25	0.19	0.19
query4	1.60	0.19	0.19
query5	0.59	0.59	0.61
query6	1.19	0.73	0.72
query7	0.03	0.03	0.02
query8	0.04	0.04	0.03
query9	0.57	0.53	0.51
query10	0.57	0.57	0.57
query11	0.15	0.11	0.11
query12	0.15	0.12	0.11
query13	0.63	0.60	0.60
query14	1.20	1.17	1.18
query15	0.87	0.84	0.84
query16	0.38	0.40	0.37
query17	1.03	1.05	1.06
query18	0.21	0.19	0.19
query19	1.91	1.81	1.76
query20	0.02	0.01	0.01
query21	15.40	0.90	0.55
query22	0.75	1.10	0.93
query23	14.71	1.39	0.64
query24	6.93	1.45	0.99
query25	0.46	0.28	0.11
query26	0.53	0.16	0.14
query27	0.06	0.05	0.06
query28	9.52	0.90	0.44
query29	12.54	4.04	3.27
query30	0.26	0.09	0.06
query31	2.82	0.60	0.38
query32	3.23	0.56	0.47
query33	3.09	3.10	3.02
query34	15.78	5.10	4.46
query35	4.50	4.52	4.55
query36	0.67	0.50	0.48
query37	0.08	0.06	0.06
query38	0.04	0.04	0.04
query39	0.03	0.02	0.03
query40	0.18	0.14	0.13
query41	0.07	0.02	0.02
query42	0.03	0.02	0.02
query43	0.04	0.03	0.03
Total cold run time: 103.26 s
Total hot run time: 29.99 s

@Jibing-Li
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 34149 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit ca185edf14aaeb27924e85541fe22ff876e04843, data reload: false

------ Round 1 ----------------------------------
q1	26786	5087	5026	5026
q2	2075	283	195	195
q3	10373	1284	694	694
q4	10211	998	543	543
q5	7976	2440	2414	2414
q6	181	162	129	129
q7	901	734	607	607
q8	9331	1298	1073	1073
q9	6831	5228	5220	5220
q10	6805	2309	1894	1894
q11	472	279	270	270
q12	343	352	207	207
q13	17758	3653	3064	3064
q14	227	221	210	210
q15	541	473	505	473
q16	447	447	390	390
q17	589	865	368	368
q18	7584	7154	7166	7154
q19	1210	938	561	561
q20	339	326	224	224
q21	4267	3386	2439	2439
q22	1080	1020	994	994
Total cold run time: 116327 ms
Total hot run time: 34149 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5121	5069	5032	5032
q2	237	334	229	229
q3	2179	2646	2294	2294
q4	1385	1803	1457	1457
q5	4524	4437	4342	4342
q6	209	163	123	123
q7	1955	1932	1779	1779
q8	2583	2670	2556	2556
q9	7215	7154	7088	7088
q10	3020	3181	2759	2759
q11	602	504	498	498
q12	655	781	628	628
q13	3520	3844	3315	3315
q14	293	278	264	264
q15	520	483	481	481
q16	449	489	452	452
q17	1133	1606	1396	1396
q18	7613	7452	7431	7431
q19	815	824	1000	824
q20	1979	2017	1862	1862
q21	5131	4719	4527	4527
q22	1083	1038	996	996
Total cold run time: 52221 ms
Total hot run time: 50333 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 186019 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit ca185edf14aaeb27924e85541fe22ff876e04843, data reload: false

query1	1042	471	494	471
query2	6571	1936	1901	1901
query3	6756	219	219	219
query4	25950	23672	23067	23067
query5	4347	644	485	485
query6	322	208	183	183
query7	4615	492	279	279
query8	290	232	231	231
query9	8628	2622	2639	2622
query10	478	316	286	286
query11	15227	15317	14789	14789
query12	162	108	110	108
query13	1678	548	407	407
query14	9246	6058	6395	6058
query15	197	187	169	169
query16	6931	664	468	468
query17	1189	747	547	547
query18	1843	381	297	297
query19	197	177	157	157
query20	127	116	118	116
query21	216	123	105	105
query22	4067	4136	4049	4049
query23	33883	32918	32942	32918
query24	8399	2375	2371	2371
query25	531	445	381	381
query26	1237	275	151	151
query27	2716	499	335	335
query28	4338	2127	2088	2088
query29	651	552	427	427
query30	285	216	190	190
query31	956	849	772	772
query32	76	68	63	63
query33	553	367	305	305
query34	816	846	519	519
query35	781	803	735	735
query36	950	990	896	896
query37	105	95	71	71
query38	4206	4232	4237	4232
query39	1443	1391	1401	1391
query40	209	124	133	124
query41	58	58	53	53
query42	119	112	110	110
query43	511	521	487	487
query44	1335	823	803	803
query45	182	175	176	175
query46	844	1035	636	636
query47	1774	1816	1726	1726
query48	381	399	297	297
query49	784	500	430	430
query50	664	672	403	403
query51	4135	4101	4044	4044
query52	113	104	102	102
query53	230	260	186	186
query54	589	599	515	515
query55	88	81	77	77
query56	308	294	288	288
query57	1137	1168	1097	1097
query58	269	254	260	254
query59	2706	2697	2551	2551
query60	334	323	308	308
query61	131	131	135	131
query62	788	736	678	678
query63	234	192	197	192
query64	4581	1137	801	801
query65	4335	4226	4231	4226
query66	1175	472	317	317
query67	15898	15497	15295	15295
query68	8751	904	517	517
query69	475	303	278	278
query70	1244	1122	1107	1107
query71	481	329	296	296
query72	5783	4776	4805	4776
query73	738	632	351	351
query74	9054	9163	8944	8944
query75	4295	3221	2704	2704
query76	3701	1194	776	776
query77	799	388	300	300
query78	10044	10026	9226	9226
query79	4224	799	546	546
query80	656	532	431	431
query81	467	258	219	219
query82	588	134	96	96
query83	290	257	237	237
query84	299	106	91	91
query85	804	361	327	327
query86	342	313	291	291
query87	4342	4499	4384	4384
query88	2816	2218	2228	2218
query89	443	317	297	297
query90	1980	217	217	217
query91	146	146	113	113
query92	76	62	61	61
query93	2579	950	579	579
query94	669	425	314	314
query95	378	300	291	291
query96	483	569	274	274
query97	3157	3226	3106	3106
query98	230	206	202	202
query99	1465	1407	1285	1285
Total cold run time: 277716 ms
Total hot run time: 186019 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 29.93 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit ca185edf14aaeb27924e85541fe22ff876e04843, data reload: false

query1	0.04	0.04	0.03
query2	0.13	0.10	0.10
query3	0.26	0.19	0.19
query4	1.61	0.20	0.10
query5	0.58	0.56	0.56
query6	1.17	0.73	0.72
query7	0.03	0.02	0.01
query8	0.04	0.04	0.04
query9	0.59	0.52	0.54
query10	0.57	0.59	0.57
query11	0.16	0.11	0.11
query12	0.15	0.12	0.12
query13	0.61	0.59	0.60
query14	1.16	1.22	1.16
query15	0.88	0.85	0.84
query16	0.40	0.39	0.39
query17	1.03	1.00	1.02
query18	0.21	0.20	0.19
query19	1.93	1.79	1.76
query20	0.01	0.02	0.01
query21	15.42	0.93	0.55
query22	0.76	1.13	0.77
query23	14.77	1.37	0.58
query24	6.65	1.62	1.10
query25	0.50	0.23	0.09
query26	0.60	0.17	0.16
query27	0.05	0.05	0.06
query28	9.92	0.89	0.44
query29	12.54	3.95	3.34
query30	0.25	0.10	0.07
query31	2.82	0.60	0.37
query32	3.23	0.55	0.47
query33	3.09	3.06	3.10
query34	15.76	5.16	4.51
query35	4.55	4.59	4.54
query36	0.66	0.50	0.50
query37	0.08	0.06	0.07
query38	0.05	0.04	0.04
query39	0.03	0.02	0.02
query40	0.17	0.13	0.14
query41	0.08	0.02	0.02
query42	0.03	0.02	0.02
query43	0.04	0.03	0.03
Total cold run time: 103.61 s
Total hot run time: 29.93 s

@Jibing-Li Jibing-Li marked this pull request as ready for review April 27, 2025 07:04
@Jibing-Li
Copy link
Contributor Author

run buildall

englefly
englefly previously approved these changes Apr 27, 2025
@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Apr 27, 2025
@github-actions
Copy link
Contributor

PR approved by at least one committer and no changes requested.

@github-actions
Copy link
Contributor

PR approved by anyone and no changes requested.

@Jibing-Li
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 35330 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 9e2328e47546caf3bcef1d549321db777a7d9c82, data reload: false

------ Round 1 ----------------------------------
q1	26576	5253	5107	5107
q2	2078	292	189	189
q3	10530	1267	742	742
q4	10272	1034	550	550
q5	8629	2402	2435	2402
q6	197	167	135	135
q7	925	767	622	622
q8	9329	1388	1178	1178
q9	6992	5189	5127	5127
q10	6861	2326	1953	1953
q11	484	296	275	275
q12	348	355	215	215
q13	17783	3701	3151	3151
q14	229	246	207	207
q15	526	497	478	478
q16	447	451	398	398
q17	640	890	384	384
q18	7782	7164	7226	7164
q19	1283	970	594	594
q20	346	347	227	227
q21	4420	3827	3282	3282
q22	1088	1016	950	950
Total cold run time: 117765 ms
Total hot run time: 35330 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5147	5158	5119	5119
q2	244	329	230	230
q3	2193	2693	2244	2244
q4	1554	2017	1472	1472
q5	4535	4376	4343	4343
q6	206	166	128	128
q7	1976	1920	1810	1810
q8	2621	2578	2509	2509
q9	7172	7128	7150	7128
q10	3008	3169	2754	2754
q11	572	506	509	506
q12	703	785	607	607
q13	3510	3893	3380	3380
q14	272	290	263	263
q15	535	473	471	471
q16	475	522	464	464
q17	1162	1534	1352	1352
q18	7818	7534	7478	7478
q19	881	840	901	840
q20	1975	2053	1815	1815
q21	5207	4731	4656	4656
q22	1053	1025	969	969
Total cold run time: 52819 ms
Total hot run time: 50538 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 186767 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 9e2328e47546caf3bcef1d549321db777a7d9c82, data reload: false

query1	1020	491	489	489
query2	6579	1928	1866	1866
query3	6740	218	216	216
query4	26095	24044	23484	23484
query5	4307	613	501	501
query6	297	202	186	186
query7	4614	488	292	292
query8	315	256	236	236
query9	8614	2583	2590	2583
query10	477	312	260	260
query11	15384	15031	14883	14883
query12	154	109	107	107
query13	1648	524	382	382
query14	8941	6212	6282	6212
query15	204	195	172	172
query16	7194	595	432	432
query17	1215	758	576	576
query18	1992	413	312	312
query19	197	189	171	171
query20	126	118	125	118
query21	224	123	106	106
query22	4041	4103	4000	4000
query23	34012	33077	33226	33077
query24	8460	2417	2382	2382
query25	567	475	414	414
query26	1269	283	157	157
query27	2743	496	321	321
query28	4341	2116	2100	2100
query29	765	556	423	423
query30	282	221	190	190
query31	900	844	765	765
query32	72	63	62	62
query33	552	372	309	309
query34	814	850	517	517
query35	773	789	740	740
query36	944	991	875	875
query37	108	101	75	75
query38	4254	4188	4209	4188
query39	1502	1422	1372	1372
query40	207	126	107	107
query41	59	54	53	53
query42	126	107	106	106
query43	519	532	486	486
query44	1343	809	794	794
query45	178	177	173	173
query46	853	1014	631	631
query47	1750	1774	1703	1703
query48	382	414	313	313
query49	773	526	421	421
query50	682	682	402	402
query51	4130	4096	4082	4082
query52	103	103	101	101
query53	232	258	195	195
query54	586	575	493	493
query55	83	78	84	78
query56	305	301	287	287
query57	1177	1156	1091	1091
query58	267	257	259	257
query59	2683	2696	2673	2673
query60	334	318	316	316
query61	130	125	126	125
query62	798	736	694	694
query63	241	198	206	198
query64	4338	999	734	734
query65	4265	4241	4254	4241
query66	1147	406	312	312
query67	15999	15476	15262	15262
query68	8608	894	519	519
query69	475	308	269	269
query70	1209	1069	1141	1069
query71	458	330	300	300
query72	5610	4710	4699	4699
query73	700	584	350	350
query74	9149	8992	8997	8992
query75	3946	3226	2770	2770
query76	3665	1175	753	753
query77	786	372	287	287
query78	10088	9956	9276	9276
query79	6333	802	553	553
query80	666	526	451	451
query81	467	256	218	218
query82	712	127	94	94
query83	292	259	242	242
query84	294	126	98	98
query85	781	353	314	314
query86	341	303	289	289
query87	4396	4413	4317	4317
query88	3767	2288	2266	2266
query89	457	327	283	283
query90	1933	217	215	215
query91	144	143	115	115
query92	73	66	61	61
query93	3613	922	583	583
query94	672	419	307	307
query95	379	299	282	282
query96	499	573	280	280
query97	3231	3230	3155	3155
query98	231	212	210	210
query99	1479	1426	1271	1271
Total cold run time: 281880 ms
Total hot run time: 186767 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 29.86 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 9e2328e47546caf3bcef1d549321db777a7d9c82, data reload: false

query1	0.04	0.04	0.03
query2	0.13	0.11	0.12
query3	0.26	0.20	0.19
query4	1.60	0.20	0.19
query5	0.61	0.59	0.61
query6	1.19	0.71	0.73
query7	0.02	0.02	0.02
query8	0.04	0.03	0.03
query9	0.57	0.54	0.51
query10	0.57	0.57	0.56
query11	0.16	0.10	0.11
query12	0.14	0.11	0.12
query13	0.60	0.60	0.60
query14	1.15	1.17	1.17
query15	0.88	0.85	0.85
query16	0.38	0.38	0.38
query17	1.00	1.02	1.04
query18	0.20	0.20	0.20
query19	1.90	1.76	1.80
query20	0.01	0.01	0.02
query21	15.45	0.91	0.57
query22	0.76	1.20	0.63
query23	14.92	1.40	0.65
query24	6.67	1.09	1.63
query25	0.49	0.24	0.14
query26	0.56	0.17	0.14
query27	0.05	0.05	0.05
query28	9.82	0.92	0.44
query29	12.54	3.96	3.28
query30	0.25	0.09	0.06
query31	2.82	0.60	0.39
query32	3.23	0.56	0.47
query33	3.10	3.01	3.07
query34	15.80	5.09	4.45
query35	4.55	4.53	4.55
query36	0.70	0.49	0.49
query37	0.09	0.07	0.06
query38	0.05	0.05	0.04
query39	0.03	0.03	0.03
query40	0.17	0.14	0.13
query41	0.08	0.03	0.02
query42	0.04	0.02	0.03
query43	0.04	0.04	0.03
Total cold run time: 103.66 s
Total hot run time: 29.86 s

@github-actions github-actions bot removed the approved Indicates a PR has been approved by one committer. label Apr 29, 2025
@Jibing-Li
Copy link
Contributor Author

run buidalll

@Jibing-Li
Copy link
Contributor Author

run buildalll

@github-actions
Copy link
Contributor

PR approved by at least one committer and no changes requested.

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Apr 29, 2025
@Jibing-Li
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 34105 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 4e6aae8d86bc9f731f4b7b412d9dcc450fe5a69e, data reload: false

------ Round 1 ----------------------------------
q1	26353	5087	5063	5063
q2	2093	281	196	196
q3	10392	1258	716	716
q4	10219	993	541	541
q5	7533	2342	2373	2342
q6	178	162	130	130
q7	891	734	611	611
q8	9313	1274	1060	1060
q9	6757	5116	5080	5080
q10	6800	2314	1878	1878
q11	490	286	263	263
q12	341	359	211	211
q13	17777	3704	3125	3125
q14	226	248	209	209
q15	532	477	482	477
q16	412	433	379	379
q17	601	855	369	369
q18	7586	7213	7202	7202
q19	1085	950	562	562
q20	349	332	238	238
q21	4291	3414	2478	2478
q22	1050	1031	975	975
Total cold run time: 115269 ms
Total hot run time: 34105 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5091	5034	5140	5034
q2	233	321	225	225
q3	2158	2671	2314	2314
q4	1346	1768	1367	1367
q5	4540	4452	4420	4420
q6	208	164	122	122
q7	1957	1935	1740	1740
q8	2557	2583	2514	2514
q9	7197	7074	7199	7074
q10	2973	3149	2767	2767
q11	592	495	493	493
q12	679	775	615	615
q13	3491	3979	3281	3281
q14	274	305	267	267
q15	514	476	474	474
q16	430	484	447	447
q17	1156	1594	1374	1374
q18	7749	7511	7338	7338
q19	787	836	844	836
q20	1950	1995	1918	1918
q21	5102	4676	4546	4546
q22	1053	1012	964	964
Total cold run time: 52037 ms
Total hot run time: 50130 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 186130 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 4e6aae8d86bc9f731f4b7b412d9dcc450fe5a69e, data reload: false

query1	1058	466	496	466
query2	6556	1877	1794	1794
query3	6754	218	217	217
query4	26648	23713	23371	23371
query5	5018	627	464	464
query6	314	211	210	210
query7	4637	498	283	283
query8	311	250	242	242
query9	8658	2640	2637	2637
query10	505	322	271	271
query11	15296	15103	14898	14898
query12	176	109	115	109
query13	1675	535	411	411
query14	9606	6219	6081	6081
query15	194	185	162	162
query16	7637	636	471	471
query17	1282	705	578	578
query18	1992	392	302	302
query19	186	183	149	149
query20	121	120	117	117
query21	210	121	112	112
query22	4218	4172	4103	4103
query23	34141	33132	33148	33132
query24	8444	2365	2350	2350
query25	515	449	387	387
query26	1237	266	154	154
query27	2751	492	325	325
query28	4319	2075	2059	2059
query29	725	554	421	421
query30	282	215	192	192
query31	904	896	768	768
query32	73	65	63	63
query33	554	354	309	309
query34	800	851	527	527
query35	786	791	727	727
query36	953	978	852	852
query37	113	104	77	77
query38	4212	4070	4123	4070
query39	1431	1387	1400	1387
query40	216	128	112	112
query41	65	60	58	58
query42	124	104	109	104
query43	502	496	480	480
query44	1317	811	809	809
query45	184	187	175	175
query46	821	1037	634	634
query47	1770	1780	1716	1716
query48	374	417	303	303
query49	794	517	455	455
query50	642	677	449	449
query51	4141	4116	4063	4063
query52	108	107	98	98
query53	222	246	187	187
query54	567	561	496	496
query55	79	79	81	79
query56	301	305	283	283
query57	1130	1175	1082	1082
query58	256	255	248	248
query59	2619	2736	2554	2554
query60	323	325	301	301
query61	129	128	127	127
query62	799	726	643	643
query63	223	192	188	188
query64	4298	985	662	662
query65	4327	4250	4249	4249
query66	1053	396	304	304
query67	15800	15586	15347	15347
query68	8261	888	516	516
query69	466	303	267	267
query70	1216	1121	1072	1072
query71	477	320	287	287
query72	5544	4759	5012	4759
query73	746	656	355	355
query74	9259	9237	8867	8867
query75	3859	3277	2698	2698
query76	3753	1187	760	760
query77	786	387	298	298
query78	9961	9973	9267	9267
query79	2158	877	584	584
query80	587	509	469	469
query81	484	266	217	217
query82	478	127	98	98
query83	264	254	235	235
query84	259	103	87	87
query85	773	366	313	313
query86	394	303	282	282
query87	4437	4468	4306	4306
query88	3733	2260	2234	2234
query89	372	325	284	284
query90	1965	223	225	223
query91	141	176	115	115
query92	74	60	58	58
query93	1589	953	580	580
query94	664	409	306	306
query95	380	293	291	291
query96	491	566	276	276
query97	3150	3226	3066	3066
query98	234	211	214	211
query99	1557	1416	1295	1295
Total cold run time: 276988 ms
Total hot run time: 186130 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 29.17 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 4e6aae8d86bc9f731f4b7b412d9dcc450fe5a69e, data reload: false

query1	0.04	0.04	0.03
query2	0.12	0.11	0.10
query3	0.24	0.20	0.19
query4	1.59	0.20	0.19
query5	0.61	0.60	0.59
query6	1.20	0.72	0.72
query7	0.02	0.02	0.02
query8	0.05	0.04	0.04
query9	0.57	0.52	0.52
query10	0.57	0.57	0.57
query11	0.15	0.10	0.11
query12	0.14	0.12	0.11
query13	0.61	0.61	0.60
query14	0.80	0.80	0.80
query15	0.87	0.86	0.87
query16	0.38	0.38	0.39
query17	1.04	0.99	1.02
query18	0.21	0.20	0.20
query19	1.85	1.78	1.80
query20	0.01	0.02	0.01
query21	15.42	0.88	0.53
query22	0.75	1.16	0.62
query23	14.99	1.39	0.62
query24	7.72	0.70	1.01
query25	0.47	0.26	0.06
query26	0.56	0.16	0.13
query27	0.06	0.05	0.04
query28	9.40	0.89	0.45
query29	12.53	4.01	3.43
query30	0.25	0.09	0.07
query31	2.82	0.58	0.40
query32	3.23	0.55	0.48
query33	3.07	3.04	3.07
query34	15.74	5.11	4.48
query35	4.49	4.55	4.53
query36	0.67	0.50	0.48
query37	0.09	0.06	0.06
query38	0.05	0.04	0.03
query39	0.03	0.02	0.03
query40	0.17	0.14	0.13
query41	0.08	0.02	0.02
query42	0.03	0.02	0.03
query43	0.03	0.03	0.03
Total cold run time: 103.72 s
Total hot run time: 29.17 s

@Jibing-Li Jibing-Li merged commit 27c6dc7 into apache:master Apr 29, 2025
24 of 26 checks passed
github-actions bot pushed a commit that referenced this pull request Apr 29, 2025
…tical result with BE. (#50425)

### What problem does this PR solve?

BE side use fmt::format_to to cast double to string, FE use
Double.toString(), we need to make sure FE and BE generate identical
cast result:
e.g. 1E10 -> 1e+10, NaN-> nan,  Infinity -> inf
Besides, when the double literal value is larger than 1E16 or less than
-1E16, skip FE side constant folding because we don't know the exact
behavior of fmt::format_to, so skip FE side constant folding and leave
the cast operation to BE.
@Jibing-Li Jibing-Li deleted the double branch April 29, 2025 09:44
yiguolei pushed a commit that referenced this pull request Apr 30, 2025
…enerate identical result with BE. #50425 (#50548)

Cherry-picked from #50425

Co-authored-by: James <lijibing@selectdb.com>
@yiguolei yiguolei added usercase Important user case type label dev/2.1.10-merged and removed dev/2.1.x labels Apr 30, 2025
deardeng pushed a commit to deardeng/incubator-doris that referenced this pull request Apr 30, 2025
…enerate identical result with BE. apache#50425 (apache#50548) (apache#357)

Cherry-picked from apache#50425

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
github-actions bot pushed a commit that referenced this pull request May 7, 2025
…tical result with BE. (#50425)

### What problem does this PR solve?

BE side use fmt::format_to to cast double to string, FE use
Double.toString(), we need to make sure FE and BE generate identical
cast result:
e.g. 1E10 -> 1e+10, NaN-> nan,  Infinity -> inf
Besides, when the double literal value is larger than 1E16 or less than
-1E16, skip FE side constant folding because we don't know the exact
behavior of fmt::format_to, so skip FE side constant folding and leave
the cast operation to BE.
dataroaring pushed a commit that referenced this pull request May 8, 2025
…enerate identical result with BE. #50425 (#50666)

Cherry-picked from #50425

Co-authored-by: James <lijibing@selectdb.com>
@yiguolei yiguolei mentioned this pull request May 13, 2025
koarz pushed a commit to koarz/doris that referenced this pull request Jun 4, 2025
…tical result with BE. (apache#50425)

### What problem does this PR solve?

BE side use fmt::format_to to cast double to string, FE use
Double.toString(), we need to make sure FE and BE generate identical
cast result:
e.g. 1E10 -> 1e+10, NaN-> nan,  Infinity -> inf
Besides, when the double literal value is larger than 1E16 or less than
-1E16, skip FE side constant folding because we don't know the exact
behavior of fmt::format_to, so skip FE side constant folding and leave
the cast operation to BE.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. dev/2.1.10-merged dev/3.0.6-merged reviewed usercase Important user case type label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants