Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[opt](nereids) compare literal not convert to legacy literal and fix ip literal compareTo always equals 0 #46482

Merged
merged 2 commits into from
Feb 7, 2025

Conversation

yujun777
Copy link
Collaborator

@yujun777 yujun777 commented Jan 6, 2025

What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

as #45181 mention, when sorting literals, toLegacyLiteral may cost a lot of time, so compare literal don't use toLegacyLiteral any more.

legacy literal may have an unknown behaviour comparing two values with different data type.

for neredis literals, different data type value compare will throw an exception, it support valid compare with data types:

  1. boolean vs boolean;
  2. numeric vs numeric;
  3. string like vs string like;
  4. date like vs date like;
  5. ipv4 vs ipv4;
  6. ipv6 vs ipv6;
  7. array vs array;
  8. above data types vs null and max;

what's more, this pr also:

  1. nereids literal remove implements Comparable;
  2. add a new interface ComparableLiteral, and the above type literals will implement it;
  3. fix ipv4 / ipv6 / map / struct compareTo always return 0;

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 Jan 6, 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?

@yujun777
Copy link
Collaborator Author

yujun777 commented Jan 6, 2025

run buildall

1 similar comment
@yujun777
Copy link
Collaborator Author

yujun777 commented Jan 6, 2025

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17593	6089	6080	6080
q2	2050	293	167	167
q3	10461	1230	776	776
q4	10212	875	450	450
q5	7642	2197	2024	2024
q6	213	183	153	153
q7	893	753	591	591
q8	9216	1375	1177	1177
q9	5177	4899	4892	4892
q10	7184	2340	1903	1903
q11	491	284	263	263
q12	359	383	232	232
q13	17852	3820	3193	3193
q14	242	239	224	224
q15	574	513	495	495
q16	651	634	591	591
q17	604	862	343	343
q18	6939	6534	6367	6367
q19	2962	956	552	552
q20	304	314	181	181
q21	3054	2340	2031	2031
q22	365	336	316	316
Total cold run time: 105038 ms
Total hot run time: 33001 ms

----- Round 2, with runtime_filter_mode=off -----
q1	6349	6256	6211	6211
q2	235	322	228	228
q3	2296	2680	2344	2344
q4	1428	1814	1342	1342
q5	4339	4755	4904	4755
q6	192	179	148	148
q7	2042	1976	1816	1816
q8	2651	2823	2676	2676
q9	7260	7194	7308	7194
q10	3085	3393	2808	2808
q11	570	500	486	486
q12	705	800	640	640
q13	3399	3843	3189	3189
q14	290	327	289	289
q15	573	512	496	496
q16	664	688	660	660
q17	1222	1737	1245	1245
q18	7650	7419	7306	7306
q19	900	1161	1151	1151
q20	2009	2031	1873	1873
q21	5767	5254	4800	4800
q22	631	596	577	577
Total cold run time: 54257 ms
Total hot run time: 52234 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 196459 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 af7516c320fff6a0ef49bc5bc6faee739d3085a7, data reload: false

query1	1303	941	920	920
query2	6459	2250	2318	2250
query3	10982	4638	4549	4549
query4	33111	23777	23669	23669
query5	3965	610	463	463
query6	283	201	212	201
query7	3988	501	301	301
query8	316	242	232	232
query9	9518	2666	2650	2650
query10	479	301	234	234
query11	17807	15369	15300	15300
query12	156	107	108	107
query13	1576	551	400	400
query14	9407	6749	6894	6749
query15	252	240	181	181
query16	8178	616	402	402
query17	1578	770	629	629
query18	2174	406	317	317
query19	199	186	177	177
query20	126	117	113	113
query21	207	124	116	116
query22	4721	4468	4350	4350
query23	34351	33516	33476	33476
query24	6689	2338	2362	2338
query25	508	473	411	411
query26	833	304	154	154
query27	2414	465	340	340
query28	5635	2497	2471	2471
query29	655	572	430	430
query30	208	184	152	152
query31	986	920	834	834
query32	86	61	82	61
query33	477	345	302	302
query34	746	846	518	518
query35	803	829	740	740
query36	1003	1046	951	951
query37	122	94	73	73
query38	4290	4247	4336	4247
query39	1522	1482	1476	1476
query40	208	127	108	108
query41	45	42	46	42
query42	122	103	106	103
query43	504	531	498	498
query44	1351	818	814	814
query45	194	184	179	179
query46	880	1081	689	689
query47	2027	2041	1966	1966
query48	416	402	323	323
query49	739	496	402	402
query50	646	672	393	393
query51	7337	7345	7276	7276
query52	106	98	94	94
query53	231	261	183	183
query54	480	511	424	424
query55	85	83	80	80
query56	260	264	269	264
query57	1238	1251	1174	1174
query58	284	240	236	236
query59	3222	3344	3037	3037
query60	266	269	255	255
query61	115	110	109	109
query62	885	826	757	757
query63	232	213	185	185
query64	3635	1006	666	666
query65	3345	3210	3290	3210
query66	796	421	305	305
query67	16548	15949	15521	15521
query68	9479	700	515	515
query69	474	296	262	262
query70	1191	1128	1151	1128
query71	438	282	260	260
query72	6340	3843	3857	3843
query73	645	736	356	356
query74	9861	9008	9012	9008
query75	4401	3119	2669	2669
query76	3928	1188	763	763
query77	757	366	282	282
query78	10295	10164	9659	9659
query79	3599	807	570	570
query80	767	506	421	421
query81	494	273	228	228
query82	618	146	129	129
query83	192	159	150	150
query84	284	89	78	78
query85	738	362	358	358
query86	397	319	289	289
query87	4401	4371	4489	4371
query88	4844	2152	2156	2152
query89	411	338	293	293
query90	1724	185	180	180
query91	130	133	106	106
query92	63	58	48	48
query93	1918	857	516	516
query94	641	399	286	286
query95	336	274	252	252
query96	483	615	289	289
query97	2921	3014	2783	2783
query98	225	197	197	197
query99	1731	1560	1441	1441
Total cold run time: 299036 ms
Total hot run time: 196459 ms

@doris-robot
Copy link

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

query1	0.03	0.04	0.03
query2	0.08	0.03	0.04
query3	0.25	0.07	0.07
query4	1.60	0.11	0.10
query5	0.43	0.42	0.40
query6	1.17	0.66	0.65
query7	0.02	0.02	0.02
query8	0.05	0.04	0.03
query9	0.59	0.50	0.54
query10	0.55	0.57	0.55
query11	0.15	0.10	0.11
query12	0.13	0.11	0.11
query13	0.62	0.62	0.61
query14	2.71	2.75	2.72
query15	0.90	0.82	0.82
query16	0.38	0.41	0.39
query17	1.02	1.06	1.06
query18	0.23	0.20	0.21
query19	1.88	1.71	1.97
query20	0.01	0.01	0.02
query21	15.36	0.96	0.59
query22	0.75	0.83	0.70
query23	15.24	1.44	0.55
query24	3.27	1.38	1.27
query25	0.20	0.12	0.18
query26	0.26	0.15	0.13
query27	0.06	0.05	0.04
query28	14.15	1.49	1.05
query29	12.60	3.87	3.24
query30	0.26	0.10	0.07
query31	2.81	0.59	0.37
query32	3.23	0.55	0.46
query33	3.03	3.04	3.13
query34	16.53	5.06	4.45
query35	4.50	4.42	4.51
query36	0.68	0.49	0.49
query37	0.10	0.06	0.06
query38	0.05	0.04	0.04
query39	0.03	0.02	0.03
query40	0.16	0.14	0.13
query41	0.09	0.02	0.02
query42	0.03	0.03	0.02
query43	0.03	0.04	0.03
Total cold run time: 106.22 s
Total hot run time: 31.42 s

@yujun777
Copy link
Collaborator Author

yujun777 commented Jan 7, 2025

run buildall

2 similar comments
@yujun777
Copy link
Collaborator Author

yujun777 commented Jan 7, 2025

run buildall

@yujun777
Copy link
Collaborator Author

yujun777 commented Jan 7, 2025

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	12807	6158	6073	6073
q2	1792	307	179	179
q3	5063	1258	710	710
q4	602	859	439	439
q5	1918	2325	2005	2005
q6	208	180	149	149
q7	904	744	615	615
q8	1003	1354	1229	1229
q9	4951	4940	5003	4940
q10	6805	2326	1866	1866
q11	475	284	274	274
q12	374	361	223	223
q13	17756	3689	3093	3093
q14	222	229	215	215
q15	577	517	503	503
q16	626	622	597	597
q17	567	853	347	347
q18	6808	6409	6429	6409
q19	1234	986	555	555
q20	319	314	201	201
q21	4717	2158	2015	2015
q22	365	349	308	308
Total cold run time: 70093 ms
Total hot run time: 32945 ms

----- Round 2, with runtime_filter_mode=off -----
q1	6345	6298	6329	6298
q2	241	326	233	233
q3	2296	2669	2331	2331
q4	1459	1889	1424	1424
q5	4359	4776	4656	4656
q6	178	173	138	138
q7	2000	1889	1701	1701
q8	2531	2689	2604	2604
q9	6970	6889	6930	6889
q10	2943	3214	2692	2692
q11	582	505	509	505
q12	663	714	564	564
q13	3353	3719	3145	3145
q14	289	281	276	276
q15	560	491	509	491
q16	621	660	648	648
q17	1177	1693	1215	1215
q18	7194	7214	6971	6971
q19	809	1145	1016	1016
q20	1915	1967	1821	1821
q21	5394	4946	4798	4798
q22	626	640	606	606
Total cold run time: 52505 ms
Total hot run time: 51022 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 190010 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 e01ba72ad67a8ac8f053bdbb71e2233e6fba1140, data reload: false

query1	956	398	383	383
query2	6512	2421	2316	2316
query3	6720	216	208	208
query4	33400	23640	23712	23640
query5	4342	631	458	458
query6	288	205	182	182
query7	4613	487	317	317
query8	310	254	238	238
query9	9631	2773	2778	2773
query10	500	325	249	249
query11	18509	15395	15092	15092
query12	172	109	108	108
query13	1671	533	419	419
query14	11869	7598	6934	6934
query15	293	197	186	186
query16	8720	645	469	469
query17	1613	729	570	570
query18	2102	414	336	336
query19	210	167	161	161
query20	115	113	109	109
query21	208	132	106	106
query22	4393	4301	4381	4301
query23	34771	33287	33309	33287
query24	6191	2265	2302	2265
query25	497	427	380	380
query26	891	270	149	149
query27	2090	456	330	330
query28	5292	2478	2445	2445
query29	690	542	411	411
query30	231	180	150	150
query31	960	914	793	793
query32	91	63	56	56
query33	497	341	285	285
query34	791	841	512	512
query35	806	808	744	744
query36	1010	1031	957	957
query37	116	93	74	74
query38	4275	4093	4217	4093
query39	1500	1431	1465	1431
query40	204	112	98	98
query41	47	43	48	43
query42	118	101	106	101
query43	517	524	472	472
query44	1286	803	809	803
query45	179	176	168	168
query46	867	1035	647	647
query47	1883	1886	1843	1843
query48	378	407	315	315
query49	729	465	392	392
query50	626	652	397	397
query51	6981	6911	6841	6841
query52	101	99	89	89
query53	225	247	183	183
query54	463	489	407	407
query55	76	76	76	76
query56	253	249	236	236
query57	1215	1189	1109	1109
query58	242	223	222	222
query59	3129	3078	2899	2899
query60	266	262	254	254
query61	110	101	106	101
query62	870	820	723	723
query63	229	187	198	187
query64	3519	1002	639	639
query65	3299	3174	3214	3174
query66	768	414	320	320
query67	15949	15669	15488	15488
query68	9214	704	524	524
query69	440	280	309	280
query70	1226	1160	1099	1099
query71	442	290	260	260
query72	6178	3832	3992	3832
query73	657	755	365	365
query74	10063	9128	8913	8913
query75	4576	3152	2643	2643
query76	4548	1193	743	743
query77	770	391	271	271
query78	10050	10216	9483	9483
query79	4520	806	583	583
query80	746	523	435	435
query81	470	278	226	226
query82	339	143	122	122
query83	206	168	150	150
query84	279	90	72	72
query85	777	365	301	301
query86	357	304	316	304
query87	4544	4678	4437	4437
query88	3225	2261	2244	2244
query89	440	337	309	309
query90	2076	195	190	190
query91	135	139	104	104
query92	63	58	53	53
query93	2641	850	529	529
query94	683	392	293	293
query95	332	262	255	255
query96	484	609	283	283
query97	2902	3008	2883	2883
query98	229	206	199	199
query99	1635	1531	1481	1481
Total cold run time: 297622 ms
Total hot run time: 190010 ms

@doris-robot
Copy link

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

query1	0.04	0.03	0.03
query2	0.07	0.04	0.03
query3	0.24	0.07	0.07
query4	1.60	0.11	0.11
query5	0.41	0.41	0.42
query6	1.16	0.64	0.64
query7	0.03	0.02	0.02
query8	0.05	0.03	0.03
query9	0.58	0.52	0.52
query10	0.56	0.57	0.55
query11	0.14	0.10	0.11
query12	0.13	0.11	0.11
query13	0.61	0.61	0.59
query14	2.72	2.73	2.73
query15	0.90	0.82	0.82
query16	0.39	0.38	0.39
query17	1.06	1.07	1.02
query18	0.23	0.21	0.22
query19	1.96	1.86	2.01
query20	0.01	0.02	0.01
query21	15.37	0.88	0.57
query22	0.75	0.78	0.65
query23	15.32	1.43	0.53
query24	3.40	0.92	2.41
query25	0.17	0.24	0.10
query26	0.21	0.15	0.13
query27	0.06	0.03	0.04
query28	13.86	1.48	1.04
query29	12.63	4.03	3.35
query30	0.25	0.10	0.06
query31	2.83	0.59	0.38
query32	3.22	0.54	0.46
query33	3.31	3.25	3.11
query34	16.74	5.05	4.52
query35	4.52	4.54	4.53
query36	0.65	0.49	0.50
query37	0.10	0.06	0.06
query38	0.05	0.04	0.03
query39	0.03	0.02	0.02
query40	0.17	0.14	0.13
query41	0.08	0.03	0.02
query42	0.03	0.02	0.02
query43	0.03	0.04	0.03
Total cold run time: 106.67 s
Total hot run time: 31.42 s

@yujun777
Copy link
Collaborator Author

yujun777 commented Jan 7, 2025

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17599	6153	6017	6017
q2	2047	322	175	175
q3	10393	1237	743	743
q4	10210	855	425	425
q5	7528	2172	1959	1959
q6	208	180	146	146
q7	903	752	608	608
q8	9244	1374	1173	1173
q9	5181	4835	4933	4835
q10	6762	2278	1838	1838
q11	470	282	270	270
q12	360	351	220	220
q13	17755	3685	3070	3070
q14	226	232	216	216
q15	549	501	490	490
q16	641	621	579	579
q17	596	838	338	338
q18	7242	6403	6462	6403
q19	1223	959	575	575
q20	316	325	197	197
q21	2864	2244	2000	2000
q22	353	335	316	316
Total cold run time: 102670 ms
Total hot run time: 32593 ms

----- Round 2, with runtime_filter_mode=off -----
q1	6341	6230	6238	6230
q2	237	324	231	231
q3	2213	2627	2314	2314
q4	1365	1776	1417	1417
q5	4351	4756	4716	4716
q6	188	175	145	145
q7	2130	1958	1845	1845
q8	2559	2785	2669	2669
q9	7280	7121	7138	7121
q10	3010	3346	2807	2807
q11	590	518	492	492
q12	641	764	622	622
q13	3503	3849	3218	3218
q14	269	305	280	280
q15	575	525	510	510
q16	636	686	676	676
q17	1210	1723	1246	1246
q18	7519	7381	7354	7354
q19	803	1102	1059	1059
q20	1929	1952	1836	1836
q21	5452	5100	4860	4860
q22	652	626	581	581
Total cold run time: 53453 ms
Total hot run time: 52229 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 189945 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 50e1c2f1515dfa9e908f2362c55001eb61232e2a, data reload: false

query1	998	359	376	359
query2	6526	2358	2255	2255
query3	6709	211	213	211
query4	33751	23927	23427	23427
query5	4416	619	440	440
query6	289	211	193	193
query7	4626	498	313	313
query8	310	251	240	240
query9	9517	2780	2770	2770
query10	487	310	254	254
query11	18363	15562	15332	15332
query12	167	109	103	103
query13	1672	548	418	418
query14	11003	6670	7216	6670
query15	221	190	188	188
query16	8051	601	438	438
query17	1571	748	558	558
query18	2100	395	286	286
query19	217	176	145	145
query20	117	112	113	112
query21	206	120	100	100
query22	4357	4410	4374	4374
query23	35262	33486	33337	33337
query24	6329	2360	2284	2284
query25	443	441	379	379
query26	723	241	150	150
query27	2031	506	347	347
query28	5111	2459	2462	2459
query29	545	517	421	421
query30	228	181	152	152
query31	994	849	822	822
query32	70	66	60	60
query33	497	350	290	290
query34	766	846	512	512
query35	845	815	731	731
query36	997	1049	980	980
query37	127	104	79	79
query38	4203	4334	4022	4022
query39	1472	1468	1418	1418
query40	203	114	101	101
query41	50	46	49	46
query42	120	104	102	102
query43	523	532	491	491
query44	1339	803	816	803
query45	185	172	174	172
query46	872	1050	651	651
query47	1916	1915	1904	1904
query48	400	408	313	313
query49	749	475	394	394
query50	635	668	394	394
query51	7081	6854	7020	6854
query52	105	103	92	92
query53	226	259	188	188
query54	483	499	413	413
query55	81	79	77	77
query56	250	267	240	240
query57	1215	1169	1125	1125
query58	233	225	231	225
query59	3061	3121	2930	2930
query60	284	289	244	244
query61	115	134	113	113
query62	840	801	740	740
query63	237	200	204	200
query64	3558	1111	772	772
query65	3304	3188	3236	3188
query66	892	491	314	314
query67	15860	15781	15539	15539
query68	7681	721	520	520
query69	470	293	256	256
query70	1204	1122	1136	1122
query71	429	294	273	273
query72	6210	3812	3809	3809
query73	669	756	363	363
query74	10140	9040	8829	8829
query75	3965	3154	2678	2678
query76	3597	1201	781	781
query77	765	378	290	290
query78	10055	10185	9528	9528
query79	6007	788	588	588
query80	723	519	449	449
query81	483	282	227	227
query82	640	152	125	125
query83	207	173	148	148
query84	284	112	76	76
query85	752	366	320	320
query86	358	326	315	315
query87	4646	4742	4276	4276
query88	4396	2241	2218	2218
query89	482	343	303	303
query90	1933	192	249	192
query91	141	142	106	106
query92	67	57	54	54
query93	2958	865	542	542
query94	667	378	283	283
query95	341	273	261	261
query96	489	619	283	283
query97	2806	2953	2815	2815
query98	225	199	195	195
query99	1770	1566	1466	1466
Total cold run time: 296694 ms
Total hot run time: 189945 ms

@doris-robot
Copy link

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

query1	0.03	0.03	0.03
query2	0.08	0.03	0.03
query3	0.24	0.07	0.07
query4	1.61	0.10	0.11
query5	0.44	0.40	0.42
query6	1.37	0.66	0.65
query7	0.02	0.01	0.01
query8	0.04	0.03	0.04
query9	0.60	0.52	0.50
query10	0.54	0.54	0.56
query11	0.15	0.11	0.11
query12	0.14	0.10	0.11
query13	0.60	0.60	0.60
query14	2.72	2.72	2.83
query15	0.88	0.84	0.82
query16	0.39	0.37	0.38
query17	1.02	1.06	1.05
query18	0.22	0.20	0.21
query19	1.97	1.86	1.99
query20	0.01	0.00	0.02
query21	15.36	0.96	0.58
query22	0.75	0.74	0.64
query23	15.33	1.51	0.51
query24	3.51	0.70	1.34
query25	0.23	0.12	0.14
query26	0.25	0.15	0.13
query27	0.06	0.05	0.05
query28	13.76	1.52	1.05
query29	12.60	4.03	3.30
query30	0.24	0.09	0.07
query31	2.82	0.61	0.38
query32	3.23	0.54	0.45
query33	3.08	3.10	3.17
query34	16.73	5.18	4.46
query35	4.49	4.47	4.48
query36	0.85	0.48	0.50
query37	0.09	0.05	0.05
query38	0.05	0.04	0.04
query39	0.03	0.02	0.02
query40	0.17	0.12	0.12
query41	0.07	0.02	0.03
query42	0.04	0.02	0.02
query43	0.04	0.03	0.03
Total cold run time: 106.85 s
Total hot run time: 30.98 s

@yujun777
Copy link
Collaborator Author

yujun777 commented Jan 8, 2025

run buildall

2 similar comments
@yujun777
Copy link
Collaborator Author

yujun777 commented Jan 8, 2025

run buildall

@yujun777
Copy link
Collaborator Author

yujun777 commented Jan 8, 2025

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17580	6209	6047	6047
q2	2048	297	166	166
q3	10515	1306	748	748
q4	10712	911	442	442
q5	9466	2195	2016	2016
q6	215	183	147	147
q7	887	751	593	593
q8	9227	1354	1165	1165
q9	5373	4897	4860	4860
q10	6792	2287	1834	1834
q11	500	303	256	256
q12	348	358	220	220
q13	17783	3687	3148	3148
q14	234	239	225	225
q15	561	514	501	501
q16	627	631	580	580
q17	576	859	333	333
q18	6901	6453	6403	6403
q19	1232	964	557	557
q20	322	321	190	190
q21	2944	2194	2014	2014
q22	369	343	304	304
Total cold run time: 105212 ms
Total hot run time: 32749 ms

----- Round 2, with runtime_filter_mode=off -----
q1	6257	6281	6267	6267
q2	238	332	232	232
q3	2279	2658	2353	2353
q4	1417	1859	1420	1420
q5	4333	4728	4939	4728
q6	183	179	144	144
q7	2061	1950	1863	1863
q8	2689	2830	2688	2688
q9	7345	7252	7320	7252
q10	3104	3360	2779	2779
q11	593	512	509	509
q12	677	784	643	643
q13	3510	3858	3235	3235
q14	287	326	286	286
q15	564	528	491	491
q16	646	671	648	648
q17	1237	1731	1270	1270
q18	7682	7552	7374	7374
q19	909	1170	1120	1120
q20	1950	1998	1904	1904
q21	5829	5269	5064	5064
q22	600	626	604	604
Total cold run time: 54390 ms
Total hot run time: 52874 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 194359 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 df04488afc70252ee305fb086c2a2e68f87bbae7, data reload: false

query1	1272	954	918	918
query2	4322	2306	2374	2306
query3	10196	4678	4735	4678
query4	61844	29975	23127	23127
query5	5283	522	486	486
query6	420	188	167	167
query7	5374	515	292	292
query8	328	237	219	219
query9	8360	2770	2733	2733
query10	437	296	258	258
query11	17204	15471	15271	15271
query12	195	119	117	117
query13	1471	604	436	436
query14	10519	6689	7403	6689
query15	200	200	188	188
query16	6898	620	439	439
query17	1080	736	602	602
query18	1831	435	310	310
query19	197	180	172	172
query20	123	114	112	112
query21	211	126	115	115
query22	4693	4492	4572	4492
query23	33742	32845	33441	32845
query24	5587	2355	2280	2280
query25	489	452	394	394
query26	864	268	156	156
query27	2010	481	343	343
query28	4074	2543	2526	2526
query29	633	539	418	418
query30	205	180	158	158
query31	955	895	825	825
query32	69	64	58	58
query33	419	365	287	287
query34	758	848	517	517
query35	830	809	736	736
query36	1042	1041	970	970
query37	122	96	96	96
query38	4275	4052	4044	4044
query39	1503	1456	1471	1456
query40	203	124	107	107
query41	44	43	46	43
query42	123	111	102	102
query43	522	536	507	507
query44	1341	833	855	833
query45	181	170	172	170
query46	883	1057	652	652
query47	1928	1954	1839	1839
query48	399	427	340	340
query49	711	487	410	410
query50	692	686	395	395
query51	7001	6908	7066	6908
query52	103	101	97	97
query53	232	262	186	186
query54	487	503	416	416
query55	84	78	79	78
query56	256	266	240	240
query57	1220	1156	1135	1135
query58	231	239	241	239
query59	3281	3252	3091	3091
query60	277	275	257	257
query61	112	113	104	104
query62	836	813	730	730
query63	239	195	192	192
query64	2476	1015	673	673
query65	3214	3142	3145	3142
query66	729	390	302	302
query67	15855	15779	15415	15415
query68	7761	708	509	509
query69	534	300	257	257
query70	1220	1153	1073	1073
query71	476	276	253	253
query72	6881	3963	4046	3963
query73	881	763	357	357
query74	9757	8845	8893	8845
query75	3961	3130	2643	2643
query76	4527	1165	778	778
query77	633	356	282	282
query78	10380	9872	9356	9356
query79	6317	819	601	601
query80	707	541	522	522
query81	499	270	229	229
query82	615	153	122	122
query83	254	163	147	147
query84	283	100	78	78
query85	762	353	298	298
query86	390	304	299	299
query87	4595	4491	4354	4354
query88	4778	2214	2182	2182
query89	426	315	288	288
query90	1880	191	183	183
query91	138	143	152	143
query92	66	57	52	52
query93	3171	805	511	511
query94	645	402	286	286
query95	338	260	258	258
query96	492	623	287	287
query97	2836	2964	2805	2805
query98	223	200	198	198
query99	1573	1483	1361	1361
Total cold run time: 321694 ms
Total hot run time: 194359 ms

@doris-robot
Copy link

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

query1	0.03	0.03	0.03
query2	0.07	0.03	0.03
query3	0.24	0.07	0.07
query4	1.61	0.10	0.11
query5	0.44	0.44	0.43
query6	1.16	0.67	0.65
query7	0.02	0.02	0.01
query8	0.04	0.03	0.03
query9	0.59	0.52	0.49
query10	0.53	0.55	0.55
query11	0.14	0.10	0.10
query12	0.14	0.11	0.11
query13	0.61	0.60	0.61
query14	2.82	2.81	2.73
query15	0.90	0.82	0.82
query16	0.40	0.38	0.38
query17	1.03	1.04	1.06
query18	0.23	0.21	0.21
query19	1.98	2.00	1.88
query20	0.01	0.02	0.01
query21	15.36	0.95	0.60
query22	0.74	0.71	0.70
query23	15.33	1.42	0.52
query24	2.92	1.51	1.77
query25	0.34	0.13	0.11
query26	0.26	0.15	0.13
query27	0.06	0.04	0.05
query28	14.45	1.50	1.03
query29	12.55	3.94	3.26
query30	0.25	0.09	0.07
query31	2.82	0.60	0.39
query32	3.23	0.53	0.46
query33	3.04	3.17	3.04
query34	16.81	5.13	4.48
query35	4.51	4.47	4.47
query36	0.64	0.48	0.49
query37	0.09	0.06	0.06
query38	0.05	0.04	0.04
query39	0.04	0.02	0.02
query40	0.18	0.14	0.12
query41	0.08	0.02	0.02
query42	0.04	0.03	0.02
query43	0.04	0.03	0.03
Total cold run time: 106.82 s
Total hot run time: 31.87 s

@yujun777
Copy link
Collaborator Author

yujun777 commented Jan 8, 2025

run buildall

@yujun777 yujun777 changed the title [opt](nereids) compare literal discard calling toLegacyLiteral [opt](nereids) compare literal discard calling toLegacyLiteral and fix ip type compareTo always equals 0 Jan 8, 2025
@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17580	6195	6043	6043
q2	2050	314	178	178
q3	10401	1257	751	751
q4	10249	867	432	432
q5	8506	2263	2021	2021
q6	208	184	152	152
q7	909	749	606	606
q8	9252	1346	1187	1187
q9	5221	4931	4866	4866
q10	6752	2296	1832	1832
q11	462	274	262	262
q12	339	352	214	214
q13	17772	3690	3106	3106
q14	229	234	218	218
q15	553	500	507	500
q16	629	620	600	600
q17	558	848	313	313
q18	6727	6567	6452	6452
q19	3122	965	555	555
q20	302	310	183	183
q21	2977	2153	1967	1967
q22	357	333	298	298
Total cold run time: 105155 ms
Total hot run time: 32736 ms

----- Round 2, with runtime_filter_mode=off -----
q1	6343	6240	6212	6212
q2	239	325	226	226
q3	2228	2627	2352	2352
q4	1379	1815	1383	1383
q5	4299	4780	4820	4780
q6	185	176	139	139
q7	2076	1941	1826	1826
q8	2633	2801	2672	2672
q9	7308	7285	7268	7268
q10	3058	3358	2759	2759
q11	563	505	491	491
q12	632	757	625	625
q13	3465	3815	3213	3213
q14	305	303	289	289
q15	553	521	499	499
q16	659	697	656	656
q17	1206	1722	1246	1246
q18	7752	7406	7317	7317
q19	833	1040	1151	1040
q20	2027	2033	1886	1886
q21	5711	5311	4850	4850
q22	656	632	600	600
Total cold run time: 54110 ms
Total hot run time: 52329 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 194436 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 1741a9db5d8c78a82199377fc93cce935616cf46, data reload: false

query1	1304	920	919	919
query2	6346	2287	2307	2287
query3	11064	4660	4905	4660
query4	32497	23603	25716	23603
query5	3620	620	438	438
query6	262	217	187	187
query7	3973	494	302	302
query8	296	233	231	231
query9	9460	2735	2711	2711
query10	460	315	260	260
query11	17921	15377	14940	14940
query12	152	109	103	103
query13	1562	548	383	383
query14	8537	7575	6913	6913
query15	237	209	211	209
query16	7517	666	462	462
query17	1553	741	607	607
query18	1527	405	348	348
query19	198	188	156	156
query20	126	117	109	109
query21	207	129	107	107
query22	4645	4470	4530	4470
query23	34229	34051	33104	33104
query24	6466	2234	2362	2234
query25	463	453	394	394
query26	829	285	158	158
query27	2145	470	332	332
query28	5243	2530	2491	2491
query29	548	544	418	418
query30	208	181	147	147
query31	945	882	800	800
query32	76	61	55	55
query33	503	355	292	292
query34	752	849	524	524
query35	779	821	761	761
query36	1023	1056	928	928
query37	120	100	77	77
query38	4264	4042	4021	4021
query39	1508	1463	1426	1426
query40	200	115	102	102
query41	45	48	44	44
query42	125	99	108	99
query43	530	536	475	475
query44	1316	830	855	830
query45	175	170	172	170
query46	868	1061	652	652
query47	1885	1960	1865	1865
query48	413	435	333	333
query49	734	508	411	411
query50	639	674	389	389
query51	7110	6965	6992	6965
query52	108	100	100	100
query53	233	264	191	191
query54	485	518	428	428
query55	82	80	85	80
query56	245	279	238	238
query57	1170	1180	1134	1134
query58	238	223	225	223
query59	3096	3349	3045	3045
query60	289	256	256	256
query61	106	104	102	102
query62	827	825	756	756
query63	236	198	196	196
query64	3450	1073	666	666
query65	3280	3241	3208	3208
query66	752	398	299	299
query67	16336	15795	15554	15554
query68	8767	690	514	514
query69	481	299	247	247
query70	1166	1113	1147	1113
query71	429	291	253	253
query72	6482	3829	3863	3829
query73	645	752	361	361
query74	9890	8931	8773	8773
query75	4256	3201	2628	2628
query76	3811	1161	741	741
query77	778	375	271	271
query78	10034	10083	9405	9405
query79	3476	833	589	589
query80	703	509	414	414
query81	473	271	238	238
query82	592	153	118	118
query83	183	157	145	145
query84	275	84	68	68
query85	747	351	290	290
query86	354	315	302	302
query87	4417	4312	4474	4312
query88	4457	2192	2176	2176
query89	424	323	293	293
query90	1820	183	184	183
query91	133	131	103	103
query92	66	54	52	52
query93	1661	894	511	511
query94	626	381	283	283
query95	324	264	246	246
query96	498	610	276	276
query97	2877	2942	2735	2735
query98	226	198	194	194
query99	1702	1498	1395	1395
Total cold run time: 291311 ms
Total hot run time: 194436 ms

@doris-robot
Copy link

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

query1	0.03	0.05	0.03
query2	0.07	0.04	0.03
query3	0.24	0.06	0.07
query4	1.61	0.11	0.10
query5	0.41	0.41	0.41
query6	1.16	0.67	0.67
query7	0.02	0.01	0.02
query8	0.04	0.03	0.03
query9	0.58	0.50	0.54
query10	0.58	0.56	0.55
query11	0.14	0.10	0.10
query12	0.14	0.11	0.11
query13	0.60	0.60	0.60
query14	2.74	2.75	2.73
query15	0.88	0.82	0.82
query16	0.39	0.39	0.41
query17	1.06	1.05	1.02
query18	0.23	0.21	0.21
query19	1.99	1.85	1.98
query20	0.02	0.01	0.02
query21	15.35	0.98	0.56
query22	0.74	0.82	0.71
query23	15.19	1.44	0.61
query24	3.35	1.80	1.48
query25	0.18	0.17	0.12
query26	0.32	0.14	0.14
query27	0.05	0.05	0.04
query28	13.96	1.47	1.04
query29	12.56	4.04	3.32
query30	0.26	0.09	0.07
query31	2.83	0.60	0.39
query32	3.23	0.54	0.46
query33	3.05	3.06	3.13
query34	16.64	5.15	4.54
query35	4.53	4.52	4.52
query36	0.64	0.49	0.48
query37	0.09	0.06	0.06
query38	0.05	0.04	0.04
query39	0.04	0.02	0.02
query40	0.16	0.14	0.13
query41	0.08	0.03	0.02
query42	0.04	0.02	0.02
query43	0.03	0.04	0.02
Total cold run time: 106.3 s
Total hot run time: 32.08 s

@yujun777
Copy link
Collaborator Author

run external

Comment on lines 270 to 275
try {
return BooleanLiteral.of(((ComparableLiteral) equalTo.left())
.compareTo((ComparableLiteral) equalTo.right()) == 0);
} catch (Exception e) {
// left and right maybe not comparable
return BooleanLiteral.of(equalTo.left().equals(equalTo.right()));
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add this to try best to avoid throw exception because throw exception are too slow, similar modifications also need to be made in this way

if (equalTo.left() instanceof ComparableLiteral && equalsTo.right() instanceof ComparableLiteral) {
    try {
        return BooleanLiteral.of(((ComparableLiteral) equalTo.left())
                        .compareTo((ComparableLiteral) equalTo.right()) == 0);
    } catch (Exception e) {
        return BooleanLiteral.of(equalTo.left().equals(equalTo.right()));
    }
} else {
   return BooleanLiteral.of(equalTo.left().equals(equalTo.right()));
}

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add this to try best to avoid throw exception because throw exception are too slow, similar modifications also need to be made in this way

if (equalTo.left() instanceof ComparableLiteral && equalsTo.right() instanceof ComparableLiteral) {
    try {
        return BooleanLiteral.of(((ComparableLiteral) equalTo.left())
                        .compareTo((ComparableLiteral) equalTo.right()) == 0);
    } catch (Exception e) {
        return BooleanLiteral.of(equalTo.left().equals(equalTo.right()));
    }
} else {
   return BooleanLiteral.of(equalTo.left().equals(equalTo.right()));
}

fix

thisBytes = getStringValue().getBytes("UTF-8");
otherBytes = ((Literal) other).getStringValue().getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
Preconditions.checkState(false);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do not eat the exception. new AnalysisException and wrap UnsupportedEncodingException and then throw it

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do not eat the exception. new AnalysisException and wrap UnsupportedEncodingException and then throw it

fix

@yujun777
Copy link
Collaborator Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17581	6253	6142	6142
q2	2052	320	173	173
q3	10398	1315	726	726
q4	10221	998	528	528
q5	7537	2477	2229	2229
q6	219	185	150	150
q7	939	758	597	597
q8	9244	1527	1330	1330
q9	5521	5059	5133	5059
q10	6901	2397	1915	1915
q11	492	268	253	253
q12	344	369	214	214
q13	17777	3724	3079	3079
q14	237	229	213	213
q15	564	516	516	516
q16	634	624	583	583
q17	567	907	336	336
q18	7059	6550	6345	6345
q19	1218	1032	551	551
q20	326	345	194	194
q21	3172	2206	2001	2001
q22	375	344	313	313
Total cold run time: 103378 ms
Total hot run time: 33447 ms

----- Round 2, with runtime_filter_mode=off -----
q1	6321	6325	6365	6325
q2	250	336	261	261
q3	2293	2693	2361	2361
q4	1491	1865	1359	1359
q5	4347	4818	5056	4818
q6	193	172	140	140
q7	2174	1967	1857	1857
q8	2635	2792	2713	2713
q9	7340	7212	7241	7212
q10	3073	3313	2905	2905
q11	610	516	510	510
q12	662	825	594	594
q13	3572	3955	3323	3323
q14	291	307	280	280
q15	583	538	520	520
q16	660	690	647	647
q17	1231	1778	1279	1279
q18	7594	7471	7497	7471
q19	815	1271	1135	1135
q20	2018	2036	1874	1874
q21	5686	5166	4786	4786
q22	625	609	606	606
Total cold run time: 54464 ms
Total hot run time: 52976 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 188563 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 c97b0f53c66e6cdf579bbd00c1f8c549890f8630, data reload: false

query1	976	373	353	353
query2	6520	2075	2130	2075
query3	6799	212	209	209
query4	33778	23452	23220	23220
query5	4316	609	451	451
query6	306	189	188	188
query7	4603	485	299	299
query8	296	228	211	211
query9	9449	2749	2756	2749
query10	499	308	254	254
query11	18106	15620	14856	14856
query12	146	106	103	103
query13	1645	515	385	385
query14	10027	6854	7139	6854
query15	244	192	183	183
query16	7510	626	453	453
query17	1647	764	576	576
query18	2010	384	299	299
query19	235	186	159	159
query20	121	113	113	113
query21	209	130	105	105
query22	4587	4425	4556	4425
query23	34120	33233	33255	33233
query24	6836	2261	2238	2238
query25	505	450	381	381
query26	1183	269	154	154
query27	2047	471	336	336
query28	5154	2470	2431	2431
query29	666	536	407	407
query30	229	183	162	162
query31	939	851	782	782
query32	88	60	58	58
query33	497	352	300	300
query34	725	875	502	502
query35	826	819	749	749
query36	986	1029	941	941
query37	116	98	79	79
query38	4145	4093	4019	4019
query39	1466	1416	1405	1405
query40	208	123	102	102
query41	52	54	54	54
query42	126	105	103	103
query43	505	511	477	477
query44	1308	814	807	807
query45	176	168	165	165
query46	837	1031	635	635
query47	1840	1892	1824	1824
query48	381	389	314	314
query49	780	474	392	392
query50	652	676	394	394
query51	6889	6989	6873	6873
query52	99	100	90	90
query53	220	247	184	184
query54	474	504	405	405
query55	83	76	76	76
query56	270	270	257	257
query57	1193	1183	1099	1099
query58	285	227	241	227
query59	2999	3156	2894	2894
query60	276	280	280	280
query61	119	121	120	120
query62	849	774	731	731
query63	223	193	196	193
query64	4487	1014	650	650
query65	3224	3151	3172	3151
query66	1038	426	313	313
query67	15887	15603	15538	15538
query68	2444	824	555	555
query69	415	296	264	264
query70	1247	1172	1128	1128
query71	338	290	261	261
query72	6183	3910	3852	3852
query73	641	744	359	359
query74	9547	8913	8695	8695
query75	3117	3187	2683	2683
query76	2383	1178	764	764
query77	460	371	274	274
query78	10108	10152	9448	9448
query79	2918	787	593	593
query80	1776	527	446	446
query81	574	291	234	234
query82	359	152	127	127
query83	271	170	150	150
query84	242	96	75	75
query85	787	337	300	300
query86	473	304	308	304
query87	4436	4486	4430	4430
query88	4144	2220	2156	2156
query89	394	322	348	322
query90	1895	193	191	191
query91	135	140	116	116
query92	64	57	52	52
query93	1933	888	547	547
query94	722	408	298	298
query95	336	272	260	260
query96	492	603	289	289
query97	2814	2893	2762	2762
query98	221	203	201	201
query99	1416	1488	1382	1382
Total cold run time: 283322 ms
Total hot run time: 188563 ms

@doris-robot
Copy link

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

query1	0.04	0.04	0.03
query2	0.08	0.03	0.03
query3	0.23	0.06	0.07
query4	1.61	0.11	0.11
query5	0.42	0.42	0.41
query6	1.15	0.66	0.65
query7	0.02	0.01	0.02
query8	0.04	0.03	0.04
query9	0.58	0.51	0.49
query10	0.53	0.57	0.55
query11	0.14	0.10	0.10
query12	0.14	0.11	0.11
query13	0.61	0.60	0.60
query14	2.82	2.81	2.85
query15	0.90	0.83	0.83
query16	0.38	0.39	0.38
query17	1.00	1.02	1.08
query18	0.22	0.20	0.21
query19	2.00	1.87	1.99
query20	0.02	0.01	0.01
query21	15.35	0.98	0.60
query22	0.75	0.75	0.67
query23	15.31	1.45	0.57
query24	3.26	1.04	1.62
query25	0.20	0.14	0.13
query26	0.22	0.14	0.14
query27	0.06	0.06	0.04
query28	13.98	1.48	1.04
query29	12.54	3.86	3.20
query30	0.25	0.09	0.07
query31	2.81	0.57	0.38
query32	3.22	0.54	0.45
query33	2.96	3.02	3.07
query34	16.79	5.14	4.45
query35	4.53	4.44	4.58
query36	0.62	0.50	0.48
query37	0.09	0.06	0.06
query38	0.05	0.04	0.03
query39	0.03	0.02	0.02
query40	0.17	0.14	0.13
query41	0.07	0.03	0.02
query42	0.04	0.03	0.02
query43	0.04	0.02	0.02
Total cold run time: 106.27 s
Total hot run time: 31.32 s

@yujun777
Copy link
Collaborator Author

run cloud_p0

@yujun777
Copy link
Collaborator Author

run p0

1 similar comment
@yujun777
Copy link
Collaborator Author

run p0

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Jan 23, 2025
Copy link
Contributor

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

Copy link
Contributor

PR approved by anyone and no changes requested.

@morrySnow morrySnow force-pushed the opt-to-legacy-literal-2 branch from c97b0f5 to 2dd034b Compare February 5, 2025 04:05
@morrySnow
Copy link
Contributor

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17578	5482	5374	5374
q2	2050	311	173	173
q3	10406	1263	732	732
q4	10218	975	516	516
q5	7527	2394	2113	2113
q6	190	164	133	133
q7	893	774	605	605
q8	9217	1377	1143	1143
q9	5372	5037	4979	4979
q10	6836	2363	1898	1898
q11	470	276	260	260
q12	339	359	223	223
q13	17782	3664	3057	3057
q14	242	226	216	216
q15	509	468	464	464
q16	616	615	569	569
q17	562	868	322	322
q18	7003	6462	6560	6462
q19	1239	951	512	512
q20	312	335	204	204
q21	2811	2168	1981	1981
q22	369	324	310	310
Total cold run time: 102541 ms
Total hot run time: 32246 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5444	5495	5504	5495
q2	246	334	239	239
q3	2255	2629	2275	2275
q4	1414	1821	1345	1345
q5	4283	4751	4655	4655
q6	165	156	126	126
q7	2032	2021	1827	1827
q8	2670	2775	2648	2648
q9	7386	7311	7362	7311
q10	2991	3258	2793	2793
q11	586	516	502	502
q12	701	781	620	620
q13	3598	3898	3251	3251
q14	267	292	271	271
q15	543	480	470	470
q16	658	685	629	629
q17	1210	1728	1264	1264
q18	7679	7522	7378	7378
q19	776	928	1111	928
q20	1993	2011	1866	1866
q21	5759	5264	5029	5029
q22	583	607	559	559
Total cold run time: 53239 ms
Total hot run time: 51481 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 184776 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 2dd034b5c2df3b96fb712193f332b5956a94026e, data reload: false

query1	996	381	384	381
query2	6517	2120	2114	2114
query3	6787	222	216	216
query4	33679	23396	22901	22901
query5	4329	624	473	473
query6	290	194	176	176
query7	4597	502	307	307
query8	290	239	237	237
query9	9405	2656	2651	2651
query10	464	326	252	252
query11	17912	15233	15202	15202
query12	162	113	108	108
query13	1665	524	411	411
query14	9671	6670	6938	6670
query15	246	199	183	183
query16	8135	617	494	494
query17	1614	737	573	573
query18	2143	405	308	308
query19	240	181	157	157
query20	125	113	111	111
query21	209	131	105	105
query22	4476	4304	4298	4298
query23	34066	32914	33298	32914
query24	6564	2344	2263	2263
query25	489	470	377	377
query26	883	272	156	156
query27	2007	457	334	334
query28	5054	2450	2406	2406
query29	671	550	421	421
query30	234	184	153	153
query31	934	852	755	755
query32	103	60	59	59
query33	498	359	294	294
query34	761	842	485	485
query35	822	825	766	766
query36	1005	1008	952	952
query37	115	100	79	79
query38	4092	4128	4061	4061
query39	1443	1388	1362	1362
query40	212	112	104	104
query41	53	50	52	50
query42	120	102	120	102
query43	515	523	500	500
query44	1301	798	802	798
query45	195	169	163	163
query46	830	1060	627	627
query47	1838	1843	1798	1798
query48	371	397	321	321
query49	740	490	422	422
query50	618	675	408	408
query51	4231	4210	4131	4131
query52	104	105	97	97
query53	222	252	187	187
query54	479	481	410	410
query55	80	75	79	75
query56	259	257	243	243
query57	1168	1157	1086	1086
query58	248	231	244	231
query59	3034	3246	2966	2966
query60	273	266	256	256
query61	119	112	117	112
query62	797	722	674	674
query63	221	199	187	187
query64	3857	1007	650	650
query65	3224	3137	3163	3137
query66	957	408	305	305
query67	16320	15493	15714	15493
query68	4786	807	531	531
query69	475	288	254	254
query70	1212	1135	1122	1122
query71	367	292	258	258
query72	5905	3831	3789	3789
query73	711	750	359	359
query74	10289	9172	8669	8669
query75	3166	3156	2643	2643
query76	3087	1168	769	769
query77	547	369	277	277
query78	10024	10033	9473	9473
query79	4023	802	584	584
query80	818	522	438	438
query81	512	275	242	242
query82	656	151	123	123
query83	173	180	160	160
query84	242	91	75	75
query85	760	348	296	296
query86	403	308	300	300
query87	4539	4445	4382	4382
query88	4913	2156	2132	2132
query89	396	322	284	284
query90	1811	198	190	190
query91	135	139	107	107
query92	72	55	54	54
query93	2555	862	525	525
query94	695	405	307	307
query95	333	259	248	248
query96	491	608	277	277
query97	2802	2895	2766	2766
query98	251	199	200	199
query99	1472	1415	1245	1245
Total cold run time: 284700 ms
Total hot run time: 184776 ms

@doris-robot
Copy link

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

query1	0.04	0.04	0.03
query2	0.08	0.03	0.03
query3	0.23	0.08	0.06
query4	1.62	0.10	0.11
query5	0.43	0.41	0.40
query6	1.17	0.65	0.65
query7	0.02	0.02	0.01
query8	0.04	0.04	0.02
query9	0.58	0.49	0.49
query10	0.55	0.56	0.55
query11	0.15	0.10	0.10
query12	0.14	0.11	0.11
query13	0.61	0.60	0.59
query14	2.79	2.77	2.88
query15	0.90	0.83	0.83
query16	0.37	0.38	0.38
query17	0.95	1.05	1.06
query18	0.22	0.22	0.21
query19	1.92	1.87	2.05
query20	0.02	0.01	0.01
query21	15.36	0.91	0.58
query22	0.76	0.97	0.82
query23	15.00	1.43	0.56
query24	3.42	1.99	0.70
query25	0.14	0.15	0.12
query26	0.32	0.16	0.14
query27	0.07	0.04	0.08
query28	14.10	1.00	0.44
query29	12.62	3.99	3.23
query30	0.25	0.09	0.06
query31	2.82	0.60	0.39
query32	3.23	0.55	0.46
query33	2.97	3.04	3.06
query34	16.62	5.18	4.55
query35	4.50	4.48	4.53
query36	0.65	0.50	0.47
query37	0.10	0.06	0.06
query38	0.05	0.04	0.03
query39	0.03	0.02	0.02
query40	0.16	0.13	0.12
query41	0.08	0.03	0.03
query42	0.03	0.02	0.02
query43	0.04	0.02	0.03
Total cold run time: 106.15 s
Total hot run time: 30.64 s

@morrySnow
Copy link
Contributor

run cloud_p0

2 similar comments
@yujun777
Copy link
Collaborator Author

yujun777 commented Feb 5, 2025

run cloud_p0

@yujun777
Copy link
Collaborator Author

yujun777 commented Feb 5, 2025

run cloud_p0

@morrySnow morrySnow merged commit 6b88c67 into apache:master Feb 7, 2025
26 checks passed
lzyy2024 pushed a commit to lzyy2024/doris that referenced this pull request Feb 21, 2025
…ip literal compareTo always equals 0 (apache#46482)

### What problem does this PR solve?

Problem Summary:

as apache#45181 mention, when sorting literals, toLegacyLiteral may cost a lot
of time, so compare literal don't use toLegacyLiteral any more.

legacy literal may have an unknown behaviour comparing two values with
different data type.

for neredis literals, different data type value compare will throw an
exception, it support valid compare with data types:
1. boolean vs boolean;
2. numeric vs numeric;
3. string like vs string like;
4. date like vs date like;
5. ipv4 vs ipv4;
6. ipv6 vs ipv6;
7. array vs array;
8. above data types vs null and max;

what's more, this pr also:
1. nereids literal remove implements Comparable<Literal>;
2. add a new interface ComparableLiteral, and the above type literals
will implement it;
3. fix  ipv4 / ipv6 / map / struct compareTo always return 0;
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. reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants