Skip to content

avoid map in GetFieldValue#10237

Merged
jycor merged 2 commits intomainfrom
james/map
Dec 23, 2025
Merged

avoid map in GetFieldValue#10237
jycor merged 2 commits intomainfrom
james/map

Conversation

@jycor
Copy link
Copy Markdown
Contributor

@jycor jycor commented Dec 23, 2025

Some of the runtime is taken up by mapaccess, which isn't necessary; this PR gets rid of it.

@jycor
Copy link
Copy Markdown
Contributor Author

jycor commented Dec 23, 2025

#benchmark

@github-actions
Copy link
Copy Markdown

@coffeegoddd
Copy link
Copy Markdown
Contributor

@jycor DOLT

comparing_percentages
100.000000 to 100.000000
version result total
4ea3ac9 ok 5937471
version total_tests
4ea3ac9 5937471
correctness_percentage
100.0

@coffeegoddd
Copy link
Copy Markdown
Contributor

@jycor DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 63.32 63.32 0.0
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt 9571842 36.56 dolt 4ea3ac9 36.74 0.49

@coffeegoddd
Copy link
Copy Markdown
Contributor

@coffeegoddd DOLT

comparing_percentages
100.000000 to 100.000000
version result total
601d994 ok 5937471
version total_tests
601d994 5937471
correctness_percentage
100.0

@coffeegoddd
Copy link
Copy Markdown
Contributor

@jycor DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.55 0.55 0.0
groupby_scan 11.87 12.08 1.77
index_join 1.96 1.93 -1.53
index_join_scan 1.34 1.34 0.0
index_scan 22.69 22.69 0.0
oltp_point_select 0.27 0.27 0.0
oltp_read_only 5.18 5.18 0.0
select_random_points 0.54 0.54 0.0
select_random_ranges 0.55 0.55 0.0
table_scan 28.16 23.1 -17.97
types_table_scan 64.47 68.05 5.55
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.43 6.55 1.87
oltp_insert 3.19 3.19 0.0
oltp_read_write 11.65 11.65 0.0
oltp_update_index 3.25 3.25 0.0
oltp_update_non_index 3.19 3.19 0.0
oltp_write_only 6.32 6.32 0.0
types_delete_insert 6.91 6.91 0.0

@jycor
Copy link
Copy Markdown
Contributor Author

jycor commented Dec 23, 2025

#benchmark

@github-actions
Copy link
Copy Markdown

@coffeegoddd
Copy link
Copy Markdown
Contributor

@jycor DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 63.32 63.32 0.0
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt f7e0c26 36.63 dolt 601d994 36.25 -1.04

@coffeegoddd
Copy link
Copy Markdown
Contributor

@jycor DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.55 0.54 -1.82
groupby_scan 10.84 12.08 11.44
index_join 1.96 1.93 -1.53
index_join_scan 1.34 1.34 0.0
index_scan 22.69 22.69 0.0
oltp_point_select 0.27 0.27 0.0
oltp_read_only 5.18 5.18 0.0
select_random_points 0.54 0.54 0.0
select_random_ranges 0.55 0.55 0.0
table_scan 28.16 23.1 -17.97
types_table_scan 65.65 66.84 1.81
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.43 6.43 0.0
oltp_insert 3.19 3.19 0.0
oltp_read_write 11.45 11.65 1.75
oltp_update_index 3.25 3.25 0.0
oltp_update_non_index 3.19 3.19 0.0
oltp_write_only 6.32 6.32 0.0
types_delete_insert 6.91 6.91 0.0

@jycor
Copy link
Copy Markdown
Contributor Author

jycor commented Dec 23, 2025

#benchmark

@github-actions
Copy link
Copy Markdown

@coffeegoddd
Copy link
Copy Markdown
Contributor

@jycor DOLT

comparing_percentages
100.000000 to 100.000000
version result total
923dbc8 ok 5937471
version total_tests
923dbc8 5937471
correctness_percentage
100.0

@coffeegoddd
Copy link
Copy Markdown
Contributor

@jycor DOLT

test_name from_latency_p95 to_latency_p95 percent_change
tpcc-scale-factor-1 63.32 63.32 0.0
test_name from_server_name from_server_version from_tps to_server_name to_server_version to_tps percent_change
tpcc-scale-factor-1 dolt f7e0c26 36.83 dolt 923dbc8 36.4 -1.17

@coffeegoddd
Copy link
Copy Markdown
Contributor

@jycor DOLT

read_tests from_latency to_latency percent_change
covering_index_scan 0.55 0.54 -1.82
groupby_scan 10.65 10.46 -1.78
index_join 1.96 1.93 -1.53
index_join_scan 1.34 1.34 0.0
index_scan 22.69 22.69 0.0
oltp_point_select 0.27 0.27 0.0
oltp_read_only 5.18 5.18 0.0
select_random_points 0.54 0.54 0.0
select_random_ranges 0.55 0.55 0.0
table_scan 28.16 23.1 -17.97
types_table_scan 65.65 68.05 3.66
write_tests from_latency to_latency percent_change
oltp_delete_insert 6.43 6.43 0.0
oltp_insert 3.19 3.19 0.0
oltp_read_write 11.45 11.45 0.0
oltp_update_index 3.25 3.25 0.0
oltp_update_non_index 3.19 3.19 0.0
oltp_write_only 6.21 6.32 1.77
types_delete_insert 6.91 6.91 0.0

Copy link
Copy Markdown
Contributor

@fulghum fulghum left a comment

Choose a reason for hiding this comment

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

Change looks good. Just wanted to double check the impact of removing the older geometry type encoding.

Comment on lines -209 to -218
// TODO: until GeometryEnc is removed, we must check if GeomAddrEnc is a GeometryEnc
var ok bool
v.Val, ok = td.GetGeometry(i, tup)
if ok {
_, err = deserializeGeometry(v.Val) // TODO: on successful deserialize, this work is wasted
if err == nil {
return v, nil
}
}
// TODO: have GeometryAddr implement TextStorage
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.

How long has GeometryEnc been removed? Is there a risk customers will still have databases that have this encoding and can't be read with this latest change?

@jycor jycor merged commit 1925acc into main Dec 23, 2025
23 of 25 checks passed
@jycor jycor deleted the james/map branch December 23, 2025 19:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants