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

change(default): no longer set a default random generator #17

Closed
wants to merge 9 commits into from

Conversation

Tieske
Copy link
Owner

@Tieske Tieske commented Oct 7, 2024

safer to have the user explicitly pick one. 3 rng sources have been included. Preferred is the LuaSystem one since it is available on Windows and Posix (but not "pure Lua").

Also improves the seeding if using the plain Lua rng. Adds a sha1 calculation to improve using the inputs instead of mathematically adding them (ngx worker id + time for example).

TODO:

  • implement 'pending' test cases

@Tieske Tieske marked this pull request as draft October 7, 2024 21:13
@Tieske Tieske changed the title hange(default): no longer set a default random generator change(default): no longer set a default random generator Oct 8, 2024
@Tieske Tieske marked this pull request as ready for review October 9, 2024 07:22
@Tieske
Copy link
Owner Author

Tieske commented Oct 9, 2024

@rfl890 mind giving this another test run on Windows? just to ensure that my updates didn't break anything.

thibaultcha and others added 9 commits October 9, 2024 09:28
Caching of globals can improve performance by up to 30%. This caches
global functions used in `new()`, which is likely to be heavily called.

Globals in `randomseed()` and `seed()` have a negligible impact due to
the low frequency of calls to those functions.
Adds a higher-priority random seeding technique if in ngx_lua to ensure
unique seeds for all workers.
Reorders the documentation to reflect priority for the seeding
technique.
rewritten entire logic and skip setting a default.
several new rng source implementations included
@Tieske
Copy link
Owner Author

Tieske commented Oct 9, 2024

manually merged

@Tieske Tieske closed this Oct 9, 2024
@Tieske Tieske deleted the rewrite branch October 9, 2024 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants