-
Notifications
You must be signed in to change notification settings - Fork 15
[4pt] Investigate merger/key_def embedding into current implementation #33
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
Comments
I would be interested in performance testing results. A measurement may be more close to a real life if we would imitate a delay between a router and a storage: tc qdisc add dev lo root handle 1:0 netem delay 500msec # 1ms rtt
tc qdisc del dev lo root # clean up However microbenchmark is interesting too. |
I have simple benchmark - https://github.com/tarantool/crud/tree/perf-test But at first glance I see some slowdown after merger integration (introduced here #38). |
Before this patch we used hand-crafted heap to sort tuples on router. This patch removes it and changes to "merger" module written in C. "Merger" is available since Tarantool 2.2. Later "tuple-merger" was introduced it's a version that is compatible with some Tarantool 1.10 versions. In fact support several Tarantool versions is quite complex task. Some msgpack helpers is not avaliable in Tarantool 1.10 to solve this problem small compatibility lawer is implemented. Also "tuple-keydef" doesn't support collation_id options and it's not so for built-in "key_def" module. We need to normalize index parts and change "collation_id" to "collation" when create "key_def" instance. Closes #33
Before this patch we used hand-crafted heap to sort tuples on router. This patch removes it and changes to "merger" module written in C. "Merger" is available since Tarantool 2.2. Later "tuple-merger" was introduced it's a version that is compatible with some Tarantool 1.10 versions. In fact support several Tarantool versions is quite complex task. Some msgpack helpers is not avaliable in Tarantool 1.10 to solve this problem small compatibility lawer is implemented. Also "tuple-keydef" doesn't support collation_id options and it's not so for built-in "key_def" module. We need to normalize index parts and change "collation_id" to "collation" when create "key_def" instance. Closes #33
Here is my modest benchmarks - #38 (comment) |
Before this patch we used hand-crafted heap to sort tuples on router. This patch removes it and changes to "merger" module written in C. "Merger" is available since Tarantool 2.2. Later "tuple-merger" was introduced it's a version that is compatible with some Tarantool 1.10 versions. In fact support several Tarantool versions is quite complex task. Some msgpack helpers is not avaliable in Tarantool 1.10 to solve this problem small compatibility lawer is implemented. Also "tuple-keydef" doesn't support collation_id options and it's not so for built-in "key_def" module. We need to normalize index parts and change "collation_id" to "collation" when create "key_def" instance. Closes #33
Before this patch we used hand-crafted heap to sort tuples on router. This patch removes it and changes to "merger" module written in C. "Merger" is available since Tarantool 2.2. Later "tuple-merger" was introduced it's a version that is compatible with some Tarantool 1.10 versions. In fact support several Tarantool versions is quite complex task. Some msgpack helpers is not avaliable in Tarantool 1.10 to solve this problem small compatibility lawer is implemented. Also "tuple-keydef" doesn't support collation_id options and it's not so for built-in "key_def" module. We need to normalize index parts and change "collation_id" to "collation" when create "key_def" instance. Co-authored-by: Elizaveta Dokshina <[email protected]> Closes #33
Before this patch we used hand-crafted heap to sort tuples on router. This patch removes it and changes to "merger" module written in C. "Merger" is available since Tarantool 2.2. Later "tuple-merger" was introduced it's a version that is compatible with some Tarantool 1.10 versions. In fact support several Tarantool versions is quite complex task. Some msgpack helpers is not avaliable in Tarantool 1.10 to solve this problem small compatibility lawer is implemented. Also "tuple-keydef" doesn't support collation_id options and it's not so for built-in "key_def" module. We need to normalize index parts and change "collation_id" to "collation" when create "key_def" instance. Closes #33 Co-authored-by: Elizaveta Dokshina <[email protected]>
Before this patch we used hand-crafted heap to sort tuples on router. This patch removes it and changes to "merger" module written in C. "Merger" is available since Tarantool 2.2. Later "tuple-merger" was introduced it's a version that is compatible with some Tarantool 1.10 versions. In fact support several Tarantool versions is quite complex task. Some msgpack helpers is not avaliable in Tarantool 1.10 to solve this problem small compatibility lawer is implemented. Also "tuple-keydef" doesn't support collation_id options and it's not so for built-in "key_def" module. We need to normalize index parts and change "collation_id" to "collation" when create "key_def" instance. Closes #33 Co-authored-by: Elizaveta Dokshina <[email protected]>
Before this patch we used hand-crafted heap to sort tuples on router. This patch removes it and changes to "merger" module written in C. "Merger" is available since Tarantool 2.2. Later "tuple-merger" was introduced it's a version that is compatible with some Tarantool 1.10 versions. In fact support several Tarantool versions is quite complex task. Some msgpack helpers is not avaliable in Tarantool 1.10 to solve this problem small compatibility lawer is implemented. Also "tuple-keydef" doesn't support collation_id options and it's not so for built-in "key_def" module. We need to normalize index parts and change "collation_id" to "collation" when create "key_def" instance. Closes #33 Co-authored-by: Elizaveta Dokshina <[email protected]>
Write test branch for 2.4+ Tarantool versions until tarantool/tarantool#5273 and tarantool/tarantool#5384 are not implemented
The text was updated successfully, but these errors were encountered: