Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

perf: update 1mops to support memcs#11293

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
mkostoevr wants to merge2 commits intotarantool:master
base:master
Choose a base branch
Loading
frommkostoevr:m.kostoev/1mops-memcs

Conversation

mkostoevr
Copy link
Contributor

Now it takes a new `columns' parameter describing the amount of fields in replaced tuples (the default is 1 so the behavior is not changed).

NO_DOC=pref test
NO_TEST=perf test
NO_CHANGELOG=perf test

@coveralls
Copy link

coveralls commentedMar 24, 2025
edited
Loading

Coverage Status

coverage: 87.444% (-0.02%) from 87.463%
when pullingbd11fae on mkostoevr:m.kostoev/1mops-memcs
into9942499
on tarantool:master
.

@mkostoevrmkostoevrforce-pushed them.kostoev/1mops-memcs branch 2 times, most recently from8a2f2d8 to1e03950CompareMarch 27, 2025 12:25
Now it takes a new `columns' parameter describing the amount of fieldsin replaced tuples (the default is 1 so the behavior is not changed).NO_DOC=pref testNO_TEST=perf testNO_CHANGELOG=perf test
The new fiber creates raw tuples without need to convert lua objectsto MessagePack. The option increases the test accuracy, so let's makeit use the new fiber by default (if the module is available).NO_DOC=perf testNO_TEST=perf testNO_CHANGELOG=perf test
Copy link
Member

@ligurioligurio left a comment

Choose a reason for hiding this comment

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

Magomed, thanks for the patches! Please see my comments.

@@ -10,6 +10,7 @@ local fiber = require('fiber')
local math = require('math')
Copy link
Member

Choose a reason for hiding this comment

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

typo in commit " perf: update the 1mops_write test to support memcs": s/pref/perf/

@@ -247,17 +263,28 @@ if (res ~= true) then
json.encode(index_config) .. ' :' .. json.encode(err))
end

-- Preallocate the test tuple
Copy link
Member

Choose a reason for hiding this comment

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

Previous comments started from lowercase letter

}

static int
fiber_lua_func(struct lua_State *L)
Copy link
Member

Choose a reason for hiding this comment

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

Seems function has nothing common with fibers, I would rename it.

local MODULEPATH = fio.pathjoin(BUILDDIR, 'perf', 'lua',
'?.' .. tarantool.build.mod_format)
package.cpath = MODULEPATH .. ';' .. package.cpath
local module_is_available, module = pcall(require, '1mops_write_module')
Copy link
Member

Choose a reason for hiding this comment

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

s/module_is_available/1mops_write_module/
s/module/1mops_write_module/

and probably it is better to rename1mops_write_module to something that will reflect specific of this module. may becolumn_write_module?

@@ -0,0 +1,173 @@
#include <lua.h>
Copy link
Member

Choose a reason for hiding this comment

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

I'm a bit confused how many low-level memcs modules we already have:

perf/lua/1mops_write_module.cperf/lua/column_insert_module.cperf/lua/column_scan_module.c

Do you ever plan to introduce a Lua API to memcs?

}

LUA_API int
luaopen_1mops_write_module(struct lua_State *L)
Copy link
Member

Choose a reason for hiding this comment

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

I don't know how to ensure that1mops_write_module.c uses memcs API in the same way as TCS. Should we involve someone from TCS team to review?

}

static bool
create_base_tuples(uint32_t num_columns)
Copy link
Member

Choose a reason for hiding this comment

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

I'm confused that we test engine by a limit number of datatypes. Should we parametrize a test (or probably add another one) that will test memcs by different datatypes (standard msgpack types and our extensions1).

Footnotes

  1. https://www.tarantool.io/en/doc/latest/reference/internals/msgpack_extensions/

@@ -10,6 +10,7 @@ local fiber = require('fiber')
local math = require('math')
local json = require('json')
local fio = require('fio')
local tarantool = require('tarantool')

-- XXX: This benchmark should be able to work standalone without
-- any provided libraries or set LUA_PATH. Add stubs for that
Copy link
Member

Choose a reason for hiding this comment

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

typo in commit "perf: update the 1mops_write test to support memcs": s/pref/perf/

@ligurioligurio removed their assignmentJun 25, 2025
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@ligurioligurioligurio left review comments

@sergossergosAwaiting requested review from sergos

At least 1 approving review is required to merge this pull request.

Assignees

@sergossergos

Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

4 participants
@mkostoevr@coveralls@ligurio@sergos

[8]ページ先頭

©2009-2025 Movatter.jp