Skip to content

[feature](timestamp_ns) Add end-to-end TIMESTAMP_NS support - #66761

Merged
HappenLee merged 31 commits into
apache:masterfrom
jacktengg:timestamp_ns-split-commit1-cast-and-functions
Sep 8, 2026
Merged

HappenLee merged 31 commits into
apache:masterfrom
jacktengg:timestamp_ns-split-commit1-cast-and-functions

Conversation

@jacktengg

@jacktengg jacktengg commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Docs: apache/doris-website#4091

Problem Summary:
Doris DATETIME only support at most six fractional digits, it's not sufficient for event times, traces, etc which require higher precision of sub-seconds.

Introduce TIMESTAMP_NS as a separate fixed-scale SQL type backed by signed Int64 Unix-epoch nanoseconds. It always has scale 9 and supports values from 1677-09-21 00:12:43.145224192 through 2262-04-11 23:47:16.854775807. Wire the type through Thrift and protobuf metadata, the FE catalog and Nereids, BE columns and SerDe, storage and indexes, result protocols, JNI and Java UDF transport, complex and VARIANT types, and schema metadata.

Add exact casts, comparisons, type inference, and constant folding across date-like types while preserving nanoseconds and rejecting partial or precision-losing implicit conversions. Add timestamp-aware scalar and calendar functions, aggregation, joins and ASOF joins, scan predicates, runtime filters, partition pruning, query-cache normalization, automatic partitions, and MTMV roll-up. Keep FE folding and BE runtime behavior consistent at signed endpoints, leap years, DST gaps, calendar-clamped boundaries, and fractional formatting and rounding boundaries.

Keep existing DATETIME and DATETIMEV2 scale semantics unchanged. FROM_UNIXTIME retains a DECIMAL64 microsecond path for scale 0 through 6 and uses the DECIMAL128 nanosecond path only for scale 7 through 9. The %f formatter rounds half-up to microseconds with second carry, while %n preserves the nanosecond fraction.

  • Test: Unit Test and Regression Test
    • Added targeted BE unit coverage for TIMESTAMP_NS values, casts, functions, SerDe, predicates, aggregates, joins, and compatibility paths
    • Added targeted FE unit coverage for literals, casts, constant folding, type inference, partitions, query-cache and MTMV boundaries, and statement-time semantics
    • Added regression coverage under datatype_p0/timestamp_ns and focused MTMV and Java UDF suites
    • Built FE and BE with the standard build scripts
  • Behavior changed: Yes. Adds TIMESTAMP_NS and nanosecond function semantics without changing the scale limits of DATETIME or DATETIMEV2.
  • Does this need documentation: Yes. Document TIMESTAMP_NS syntax, range, casts and coercion rules, function behavior, and integration support.

Release note

Add TIMESTAMP_NS, a fixed-scale nanosecond timestamp type stored as signed Unix-epoch nanoseconds. It supports SQL literals, casts, date/time functions, storage and indexes, partitions, joins, aggregates, complex types, Java UDF/JNI transport, and FE constant folding and type inference. Existing DATETIME and DATETIMEV2 types remain limited to scale 0 through 6.

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

@hello-stephen

Copy link
Copy Markdown
Contributor

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?

@jacktengg

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 74.33% (805/1083) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

BE Regression && UT Coverage Report

Increment line coverage 85.49% (1726/2019) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 76.10% (32687/42953)
Line Coverage 61.05% (366948/601071)
Region Coverage 57.70% (308488/534662)
Branch Coverage 59.03% (140059/237287)

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 68.44% (811/1185) 🎉
Increment coverage report
Complete coverage report

@jacktengg
jacktengg force-pushed the timestamp_ns-split-commit1-cast-and-functions branch from a75a76c to f7b433d Compare August 14, 2026 17:03
@jacktengg

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 78.23% (2001/2558)
Line Coverage 65.30% (36509/55907)
Region Coverage 65.47% (18559/28347)
Branch Coverage 55.11% (10100/18328)

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17548	3076	3071	3071
q2	1878	246	153	153
q3	10469	894	500	500
q4	4667	246	195	195
q5	7687	576	386	386
q6	144	123	94	94
q7	527	506	382	382
q8	9243	905	989	905
q9	3452	2362	2360	2360
q10	6521	869	705	705
q11	446	265	239	239
q12	710	384	324	324
q13	17873	1937	1495	1495
q14	164	155	138	138
q15	q16	448	397	364	364
q17	827	915	799	799
q18	3085	2219	2253	2219
q19	1140	922	806	806
q20	713	517	480	480
q21	5298	1750	1904	1750
q22	337	273	238	238
Total cold run time: 93177 ms
Total hot run time: 17603 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	3462	3353	3358	3353
q2	209	220	157	157
q3	2236	2325	2132	2132
q4	1173	1162	876	876
q5	2195	2111	2107	2107
q6	174	118	87	87
q7	1022	919	867	867
q8	1610	1414	1411	1411
q9	3062	3055	3028	3028
q10	1851	1813	1624	1624
q11	352	272	248	248
q12	460	444	341	341
q13	1781	1832	1529	1529
q14	185	168	155	155
q15	q16	396	386	366	366
q17	1043	1024	1029	1024
q18	4867	4369	4682	4369
q19	907	854	866	854
q20	983	911	822	822
q21	3798	3107	3247	3107
q22	418	361	322	322
Total cold run time: 32184 ms
Total hot run time: 28779 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 84745 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 f7b433db32b2e9d45ea2a49fd9813e18b89c1aea, data reload: false

query5	4233	410	319	319
query6	399	157	146	146
query7	4916	471	251	251
query8	296	118	115	115
query9	8679	2905	2894	2894
query10	402	262	221	221
query11	5373	1035	911	911
query12	121	73	72	72
query13	1206	460	344	344
query14	5953	1998	1864	1864
query14_1	1774	1746	1756	1746
query15	174	117	108	108
query16	939	406	389	389
query17	822	449	365	365
query18	2338	337	247	247
query19	179	147	120	120
query20	84	73	70	70
query21	211	115	103	103
query22	5426	5303	5450	5303
query23	7206	6585	6296	6296
query23_1	6582	6465	6476	6465
query24	7241	1111	764	764
query24_1	762	810	803	803
query25	433	330	262	262
query26	1265	268	169	169
query27	2726	468	283	283
query28	4589	1527	1497	1497
query29	956	446	362	362
query30	275	177	153	153
query31	968	661	599	599
query32	110	53	54	53
query33	473	221	181	181
query34	993	854	504	504
query35	407	394	348	348
query36	567	557	527	527
query37	132	87	74	74
query38	1005	841	816	816
query39	509	515	534	515
query39_1	513	515	546	515
query40	224	159	109	109
query41	55	52	49	49
query42	74	71	71	71
query43	251	246	230	230
query44	1018	570	577	570
query45	104	100	102	100
query46	819	835	555	555
query47	907	962	957	957
query48	336	315	217	217
query49	539	245	186	186
query50	835	337	259	259
query51	8181	8178	8087	8087
query52	69	72	60	60
query53	201	220	153	153
query54	241	200	161	161
query55	71	59	54	54
query56	228	213	214	213
query57	639	594	602	594
query58	211	185	187	185
query59	1079	1091	951	951
query60	245	219	196	196
query61	132	125	109	109
query62	353	205	168	168
query63	187	165	157	157
query64	2674	654	580	580
query65	1525	1524	1562	1524
query66	1782	296	238	238
query67	9864	9842	9485	9485
query68	3030	1174	797	797
query69	340	219	203	203
query70	661	589	611	589
query71	305	246	232	232
query72	2355	1878	1551	1551
query73	645	605	348	348
query74	2004	1231	1166	1166
query75	1220	1132	1005	1005
query76	2367	735	580	580
query77	249	267	195	195
query78	5229	4893	4393	4393
query79	1179	911	570	570
query80	1196	384	349	349
query81	489	194	171	171
query82	626	136	105	105
query83	320	253	229	229
query84	306	127	101	101
query85	827	431	388	388
query86	391	189	171	171
query87	1010	964	889	889
query88	2842	2152	2135	2135
query89	306	228	205	205
query90	1860	150	146	146
query91	153	139	122	122
query92	49	47	42	42
query93	1414	1132	769	769
query94	643	246	213	213
query95	614	441	341	341
query96	842	535	281	281
query97	1010	1005	990	990
query98	146	136	144	136
query99	407	346	306	306
Total cold run time: 178556 ms
Total hot run time: 84745 ms

@hello-stephen

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

query1	0.01	0.00	0.01
query2	0.08	0.04	0.04
query3	0.24	0.11	0.10
query4	1.60	0.11	0.10
query5	0.17	0.15	0.15
query6	1.27	0.66	0.68
query7	0.03	0.01	0.00
query8	0.05	0.03	0.03
query9	0.30	0.21	0.21
query10	0.34	0.39	0.35
query11	0.16	0.11	0.11
query12	0.15	0.12	0.12
query13	0.31	0.30	0.30
query14	0.46	0.47	0.44
query15	0.38	0.35	0.35
query16	0.22	0.22	0.22
query17	0.69	0.69	0.71
query18	0.17	0.15	0.16
query19	1.22	1.21	1.15
query20	0.02	0.01	0.01
query21	15.47	0.16	0.13
query22	5.08	0.04	0.04
query23	16.18	0.24	0.10
query24	2.99	0.31	0.28
query25	0.09	0.04	0.03
query26	0.83	0.18	0.12
query27	0.04	0.03	0.02
query28	3.67	0.57	0.27
query29	12.45	3.18	2.57
query30	0.26	0.11	0.12
query31	2.76	0.38	0.17
query32	3.53	0.32	0.22
query33	1.38	1.40	1.55
query34	15.37	2.13	1.73
query35	1.76	1.73	1.66
query36	0.48	0.28	0.29
query37	0.06	0.04	0.04
query38	0.04	0.03	0.03
query39	0.03	0.03	0.03
query40	0.11	0.07	0.07
query41	0.08	0.03	0.03
query42	0.03	0.03	0.03
query43	0.03	0.02	0.03
Total cold run time: 90.59 s
Total hot run time: 14.56 s

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 65.00% (871/1340) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 77.19% (1418/1837) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 60.61% (26742/44120)
Line Coverage 45.01% (272903/606313)
Region Coverage 40.69% (217397/534334)
Branch Coverage 42.17% (100252/237736)

@hello-stephen

Copy link
Copy Markdown
Contributor

BE Regression && UT Coverage Report

Increment line coverage 82.98% (1521/1833) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 74.86% (32180/42985)
Line Coverage 59.32% (356974/601824)
Region Coverage 55.57% (297404/535183)
Branch Coverage 56.45% (134137/237630)

### What problem does this PR solve?

Issue Number: None

Related PR: apache#66761

Problem Summary: Existing TIMESTAMP_NS regression coverage did not systematically exercise supported expressions and functions with all-literal arguments under both constant-folding modes, mixed literal and column arguments under both modes, and all-column arguments. Add expression and function matrices using the exact minimum and maximum values, the Unix epoch, and a normal nanosecond value. Respect signatures that require literal intervals or formats, cover aggregate and window paths, and verify boundary overflow errors without nondeterministic ordering.

### Release note

None

### Check List (For Author)

- Test: Regression test
    - test_timestamp_ns_expression_argument_matrix
    - test_timestamp_ns_function_argument_matrix
    - test_timestamp_ns_expressions
    - test_timestamp_ns_functions
- Behavior changed: No
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: apache#66761

Problem Summary: TIMESTAMP_NS string casts duplicated DATETIMEV2 grammar, fractional parsing, rounding, and timezone conversion logic. Template the shared DATETIMEV2 string parser over its result type, retain DATETIMEV2 behavior, parse up to nine fractional digits for TIMESTAMP_NS, and finalize through TimeStampNsValue after timezone conversion and range validation. Route the TIMESTAMP_NS SerDe through the shared cast helpers.

### Release note

None

### Check List (For Author)

- Test:
    - Unit Test: targeted TIMESTAMP_NS, DATETIMEV2, and TIMESTAMPTZ cast tests
    - Regression test: test_cast_string_non_strict and test_timestamp_ns_cast
    - Build: ./build.sh --be
    - Style: clang-format, check-format, and build-hygiene checks
- Behavior changed: No
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: apache#66761

Problem Summary: The nanosecond function only exposed a TIMESTAMP_NS signature, so DATEV2 and DATETIMEV2 arguments failed during function resolution. Add FE signatures and constant folding overloads, and register BE implementations that return zero for DATEV2 and convert DATETIMEV2 microseconds to nanoseconds while preserving exact TIMESTAMP_NS extraction.

### Release note

The nanosecond function now supports DATEV2 and DATETIMEV2 arguments.

### Check List (For Author)

- Test:
    - Unit Test: targeted FE and BE nanosecond tests
    - Regression test: test_nanosecond_datev2_datetimev2
    - Build: ./build.sh --fe and ./build.sh --be
    - Style: clang-format, check-format, checkstyle, and build hygiene
- Behavior changed: Yes (nanosecond now accepts DATEV2 and DATETIMEV2)
- Does this need documentation: No
Issue Number: None

Related PR: apache#66761

Problem Summary: TIMESTAMP_NS had basic Arrow round-trip coverage but lacked complete time-unit boundary checks, nested FE schema checks, and an end-to-end Arrow Flight SQL regression. Add exact conversion and overflow tests, nested schema assertions, and Flight queries for nanosecond boundary values under multiple session time zones.

None

- Test: Unit Test and Regression test
    - `./run-fe-ut.sh --run org.apache.doris.service.arrowflight.FlightSqlSchemaHelperArrowTypeTest`
    - `./run-be-ut.sh --run --filter=DataTypeSerDeArrowTest.TimeStampNsArrowRoundTrip:DataTypeSerDeArrowTest.TimeStampNsArrowUnitConversion -j 16`
    - `./run-regression-test.sh --run -d arrow_flight_sql_p0 -s test_select`
- Behavior changed: No
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: None

Problem Summary: TIMESTAMP_NS delete-condition validation duplicated the date-time validation path with a type-specific parser. The shared validator was limited to six fractional digits, so it could not be reused for the fixed nine-digit TIMESTAMP_NS scale. Generalize fractional-second validation through scale 9 and route TIMESTAMP_NS through the same validation branch as DATETIMEV2 while preserving the DATETIMEV2 six-digit limit.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - ./run-be-ut.sh --run --filter=DeleteConditionValueTest.ValidDatetimeSupportsNanosecondScale -j 32
- Behavior changed: No
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: None

Problem Summary: TIMESTAMP_NS index tests did not prove that default V3 inverted indexes and synchronous rollup indexes were selected, and lacked NULL-path coverage for ZoneMap, Bloom Filter, V2 inverted indexes, and SNII. Add BE writer/reader checks for NULL metadata and bitmaps, add end-to-end profile counter assertions for V3, SNII, explicit Bloom Filter, and rollup rewrite, and fix unsupported NGRAM_BF and ANN behavior with negative DDL tests.

### Release note

None

### Check List (For Author)

- Test:
    - Unit Test: targeted TIMESTAMP_NS Bloom Filter, V2 inverted index, and ZoneMap BE tests
    - Regression test: test_timestamp_ns_index and test_timestamp_ns_mv
    - Static checks: check-format, check-build-hygiene, and git diff --check
    - Clang-tidy: attempted, but the local GCC 15 toolchain could not resolve stddef.h while parsing the test translation units
- Behavior changed: No
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: None

Problem Summary: TIMESTAMP_NS numeric casts converted rows directly in the cast implementation instead of using the strict and non-strict SerDe batch paths used by DATETIMEV2. TIMESTAMP_NS JSONB and textual number serialization also bypassed CastToString helpers, and no SQL regression directly covered legacy JSONB write/read round trips. Add the missing integer, floating-point, and decimal batch SerDe interfaces for both cast modes, route numeric casts through them, centralize string conversion, and add unit and regression coverage.

### Release note

None

### Check List (For Author)

- Test: Regression test / Unit Test / Build
    - `./run-be-ut.sh --run --filter=DatelikeSerDeBatchTest.timestamp_ns_*:DataTypeTimeStampNsTest.SerDeStrictBatchJsonJsonbMysqlAndBinaryField -j 24`
    - `./run-regression-test.sh --run -d datatype_p0/timestamp_ns -s test_timestamp_ns_cast`
    - `./run-regression-test.sh --run -d datatype_p0/timestamp_ns -s test_timestamp_ns_jsonb`
    - `./build.sh --be -j 24`
- Behavior changed: No; the conversion is routed through shared helpers and batch SerDe interfaces with equivalent strict/non-strict semantics.
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: None

Problem Summary: TIMESTAMP_NS predicate creator branches for comparison, IN, NOT IN, and runtime Bloom Filter lacked complete direct unit-test coverage. Add focused tests that instantiate each factory and verify the generated predicate type and filtering behavior.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - ./run-be-ut.sh --run --filter=PredicateCreatorTest.*:ScanNormalizePredicate.TimestampNsInPredicateBuildsPointScanKeys -j 8
- Behavior changed: No
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: None

Problem Summary: TimeStampNsValue exposed unused arithmetic, date-difference, and seeded-hash helpers while several retained calendar, difference, formatting, interval, and truncation interfaces lacked direct unit-test coverage. Remove the unused public interfaces, keep the internally required time-difference helper private, and add boundary-focused tests for every retained behavior.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - ./run-be-ut.sh --run --filter='DataTypeTimeStampNsTest.*' -j 8
    - build-support/check-build-hygiene.sh
    - build-support/check-format.sh with clang-format 16
    - build-support/run-clang-tidy.sh --build-dir be/ut_build_ASAN with clang-tidy 16
- Behavior changed: No; unused C++ interfaces were removed and retained behavior was not changed
- Does this need documentation: No
@jacktengg

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 77.69% (2055/2645)
Line Coverage 65.74% (37572/57152)
Region Coverage 52.97% (35046/66167)
Branch Coverage 56.48% (11270/19954)

@hello-stephen

Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 78.17% (1300/1663) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 63.34% (29846/47123)
Line Coverage 48.37% (313265/647667)
Region Coverage 43.85% (252530/575846)
Branch Coverage 45.49% (117792/258928)

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 69.96% (1628/2327) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

BE Regression && UT Coverage Report

Increment line coverage 94.44% (1563/1655) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 76.44% (34893/45646)
Line Coverage 61.55% (394095/640292)
Region Coverage 57.68% (330867/573643)
Branch Coverage 58.51% (151057/258187)

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17571	3127	3110	3110
q2	2060	259	216	216
q3	10256	848	495	495
q4	4684	247	207	207
q5	7677	544	376	376
q6	136	118	97	97
q7	511	483	381	381
q8	9230	901	845	845
q9	3427	2357	2359	2357
q10	6511	858	693	693
q11	402	198	178	178
q12	619	264	197	197
q13	18110	1543	1165	1165
q14	165	148	141	141
q15	q16	445	398	370	370
q17	1306	880	742	742
q18	3044	2245	2221	2221
q19	1122	905	794	794
q20	365	278	197	197
q21	5272	1673	1838	1673
q22	322	271	230	230
Total cold run time: 93235 ms
Total hot run time: 16685 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	3456	3407	3376	3376
q2	509	402	375	375
q3	2205	2362	2183	2183
q4	1182	1161	896	896
q5	2161	2101	2102	2101
q6	169	116	87	87
q7	1001	923	862	862
q8	1596	1409	1413	1409
q9	3131	3091	3140	3091
q10	1832	1780	1605	1605
q11	357	271	256	256
q12	461	446	355	355
q13	1473	1568	1142	1142
q14	168	167	166	166
q15	q16	392	401	359	359
q17	3563	3298	3173	3173
q18	4807	4388	4713	4388
q19	843	801	885	801
q20	1053	993	853	853
q21	3861	3117	3354	3117
q22	406	342	334	334
Total cold run time: 34626 ms
Total hot run time: 30929 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 82055 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 f4dcbafbc5a34c59c9d211228e2c83434711b45b, data reload: false

query5	4240	413	348	348
query6	380	155	126	126
query7	4914	389	235	235
query8	288	126	117	117
query9	8687	2898	2909	2898
query10	384	216	187	187
query11	5364	1041	905	905
query12	122	72	69	69
query13	1196	456	327	327
query14	6066	2187	2095	2095
query14_1	1981	1970	1977	1970
query15	177	119	114	114
query16	913	384	319	319
query17	803	468	374	374
query18	2335	332	235	235
query19	164	163	106	106
query20	69	68	67	67
query21	198	99	83	83
query22	5512	5343	5286	5286
query23	6669	6237	6091	6091
query23_1	6059	5964	5966	5964
query24	7248	1071	750	750
query24_1	759	768	787	768
query25	410	271	243	243
query26	1234	239	131	131
query27	2800	409	256	256
query28	4688	1488	1490	1488
query29	923	433	341	341
query30	263	149	128	128
query31	826	397	325	325
query32	121	75	68	68
query33	455	223	175	175
query34	988	825	484	484
query35	397	393	333	333
query36	570	594	538	538
query37	113	78	69	69
query38	1031	846	801	801
query39	477	468	461	461
query39_1	477	472	483	472
query40	205	89	81	81
query41	54	51	52	51
query42	73	71	72	71
query43	238	239	213	213
query44	1016	541	548	541
query45	109	106	101	101
query46	739	840	507	507
query47	760	749	737	737
query48	321	325	232	232
query49	599	249	189	189
query50	714	264	204	204
query51	8269	8063	8118	8063
query52	74	70	59	59
query53	195	205	146	146
query54	215	170	171	170
query55	79	57	55	55
query56	198	164	168	164
query57	683	724	608	608
query58	209	170	154	154
query59	1226	1244	1097	1097
query60	245	186	175	175
query61	116	121	125	121
query62	367	208	190	190
query63	174	140	139	139
query64	2816	777	677	677
query65	1651	1595	1559	1559
query66	1856	294	213	213
query67	10237	9784	9760	9760
query68	3024	1232	725	725
query69	361	234	191	191
query70	680	626	613	613
query71	247	181	163	163
query72	2454	1790	1615	1615
query73	647	602	337	337
query74	2006	1238	1137	1137
query75	1202	1096	953	953
query76	2394	709	554	554
query77	257	257	203	203
query78	3808	3713	3155	3155
query79	1133	843	563	563
query80	1213	336	285	285
query81	495	154	131	131
query82	627	123	96	96
query83	319	211	194	194
query84	306	109	90	90
query85	891	367	298	298
query86	382	177	173	173
query87	1016	963	915	915
query88	2782	2093	2116	2093
query89	287	201	174	174
query90	1973	130	135	130
query91	132	121	98	98
query92	78	71	69	69
query93	1298	1039	735	735
query94	661	263	216	216
query95	529	327	231	231
query96	792	579	272	272
query97	1083	1029	1012	1012
query98	141	135	129	129
query99	423	358	313	313
Total cold run time: 176817 ms
Total hot run time: 82055 ms

@hello-stephen

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

query1	0.01	0.00	0.00
query2	0.08	0.04	0.03
query3	0.25	0.10	0.10
query4	1.60	0.10	0.10
query5	0.18	0.17	0.17
query6	1.22	0.70	0.70
query7	0.04	0.01	0.00
query8	0.04	0.02	0.02
query9	0.29	0.21	0.21
query10	0.35	0.34	0.34
query11	0.16	0.11	0.11
query12	0.16	0.12	0.11
query13	0.30	0.29	0.30
query14	0.44	0.44	0.43
query15	0.35	0.34	0.35
query16	0.20	0.22	0.24
query17	0.69	0.71	0.71
query18	0.18	0.17	0.17
query19	1.23	1.14	1.13
query20	0.01	0.00	0.00
query21	15.43	0.15	0.11
query22	5.07	0.04	0.05
query23	16.16	0.27	0.10
query24	3.00	0.31	0.26
query25	0.10	0.04	0.03
query26	0.81	0.17	0.13
query27	0.03	0.03	0.03
query28	3.64	0.61	0.29
query29	12.42	3.22	2.59
query30	0.25	0.12	0.13
query31	2.76	0.39	0.17
query32	3.51	0.31	0.24
query33	1.43	1.60	1.52
query34	15.37	2.16	1.76
query35	1.72	1.72	1.68
query36	0.46	0.30	0.27
query37	0.07	0.04	0.04
query38	0.04	0.02	0.03
query39	0.04	0.03	0.02
query40	0.12	0.08	0.08
query41	0.07	0.02	0.02
query42	0.03	0.02	0.02
query43	0.03	0.03	0.02
Total cold run time: 90.34 s
Total hot run time: 14.74 s

@HappenLee HappenLee left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants