Skip to content
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

self->hash API: inline, not indirect calls #21

Open
rurban opened this issue Mar 26, 2021 · 0 comments
Open

self->hash API: inline, not indirect calls #21

rurban opened this issue Mar 26, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@rurban
Copy link
Owner

rurban commented Mar 26, 2021

mandate T_hash to be defined, resp. TK_hash, beforehand. Don't call it indirectly.
There's no need to dynamically change it, it needs to be compile-time.
Similarily for the same for the equal and compare funcs.
No need from them to be stored in the container. Inline them.
hash is esp. performance sensitive, but also security. just NULL it to create a DDOS.

@rurban rurban self-assigned this Mar 26, 2021
@rurban rurban added the enhancement New feature or request label Mar 26, 2021
@rurban rurban added this to the forward_list milestone Mar 26, 2021
rurban added a commit that referenced this issue Mar 28, 2021
use static methods, prefixed by the type T.
This enables inlining the hot hashtable parts, and
disallows corrupting the table with changed hash or equal methods.
They really need to be declared and defined statically, just as with C++, where
we need to declare it for the template.

Fixes GH #21
rurban added a commit that referenced this issue Mar 28, 2021
use static methods, prefixed by the type T.
This enables inlining the hot hashtable parts, and
disallows corrupting the table with changed hash or equal methods.
They really need to be declared and defined statically, just as with C++, where
we need to declare it for the template.

Fixes GH #21
rurban added a commit that referenced this issue Apr 4, 2021
use static methods, prefixed by the type T.
This enables inlining the hot hashtable parts, and
disallows corrupting the table with changed hash or equal methods.
They really need to be declared and defined statically, just as with C++, where
we need to declare it for the template.

Fixes GH #21
rurban added a commit that referenced this issue Apr 24, 2021
use static methods, prefixed by the type T.
This enables inlining the hot hashtable parts, and
disallows corrupting the table with changed hash or equal methods.
They really need to be declared and defined statically, just as with C++, where
we need to declare it for the template.

Fixes GH #21
rurban added a commit that referenced this issue Oct 13, 2021
use static methods, prefixed by the type T.
This enables inlining the hot hashtable parts, and
disallows corrupting the table with changed hash or equal methods.
They really need to be declared and defined statically, just as with C++, where
we need to declare it for the template.

Fixes GH #21
rurban added a commit that referenced this issue Apr 12, 2023
use static methods, prefixed by the type T.
This enables inlining the hot hashtable parts, and
disallows corrupting the table with changed hash or equal methods.
They really need to be declared and defined statically, just as with C++, where
we need to declare it for the template.

Fixes GH #21
rurban added a commit that referenced this issue Jul 17, 2023
use static methods, prefixed by the type T.
This enables inlining the hot hashtable parts, and
disallows corrupting the table with changed hash or equal methods.
They really need to be declared and defined statically, just as with C++, where
we need to declare it for the template.

Fixes GH #21
rurban added a commit that referenced this issue Feb 16, 2024
use static methods, prefixed by the type T.
This enables inlining the hot hashtable parts, and
disallows corrupting the table with changed hash or equal methods.
They really need to be declared and defined statically, just as with C++, where
we need to declare it for the template.

Fixes GH #21
rurban added a commit that referenced this issue Feb 16, 2024
use static methods, prefixed by the type T.
This enables inlining the hot hashtable parts, and
disallows corrupting the table with changed hash or equal methods.
They really need to be declared and defined statically, just as with C++, where
we need to declare it for the template.

Fixes GH #21
rurban added a commit that referenced this issue Feb 20, 2024
use static methods, prefixed by the type T.
This enables inlining the hot hashtable parts, and
disallows corrupting the table with changed hash or equal methods.
They really need to be declared and defined statically, just as with C++, where
we need to declare it for the template.

Fixes GH #21
rurban added a commit that referenced this issue Feb 21, 2024
use static methods, prefixed by the type T.
This enables inlining the hot hashtable parts, and
disallows corrupting the table with changed hash or equal methods.
They really need to be declared and defined statically, just as with C++, where
we need to declare it for the template.

Fixes GH #21
rurban added a commit that referenced this issue Feb 21, 2024
use static methods, prefixed by the type T.
This enables inlining the hot hashtable parts, and
disallows corrupting the table with changed hash or equal methods.
They really need to be declared and defined statically, just as with C++, where
we need to declare it for the template.

Fixes GH #21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant