]> source.dussan.org Git - rspamd.git/commit
[Feature] Further optimization to the hot path 4860/head
authorVsevolod Stakhov <vsevolod@rspamd.com>
Wed, 6 Mar 2024 17:44:35 +0000 (17:44 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Wed, 6 Mar 2024 17:44:35 +0000 (17:44 +0000)
commit0e1c723643abec1b5693a92158fe91436dda0c21
tree973b061624f20ae9c6615ffc82c6d78d3e613cf8
parent5c8a7059412bead76bb0fb464856fca28fd2ec33
[Feature] Further optimization to the hot path

We check userdata very frequently, so the idea here is the following:

- Store the address of classname (converted to int) in the metatable at index 1
- When we need to check some udata, we can just compare the static address with
  the integer stored in metatable
- This avoid quite an expensive `lua_rawequal` call for two tables as we know that
  our classes are quite static
src/lua/lua_common.c