1
0
Fork 0
mirror of https://github.com/diamondburned/arikawa.git synced 2024-12-10 23:45:42 +00:00
arikawa/bot
Maximilian von Lindern 0a8b24339b
API: Added timeout if deadline is after rate limit (#173)
* Rate: don't sleep if sleep exceeds context deadline

* Httputil: add Client.Timeout

* Bot: set default API timeout to 5 minutes

* Rate: reduce calls to time.Now in Acquire

* API: Optimize to use deadline instead of recalculating

Co-authored-by: diamondburned <datutbrus@gmail.com>
2020-11-25 12:08:42 -08:00
..
extras State: don't check store if resource is not tracked through intents (#163) 2020-11-19 10:43:31 -08:00
arguments.go Bot: Fixed CustomParser arguments still having subcommand 2020-11-14 21:05:31 -08:00
arguments_test.go Bot: Added more tests and the Help API 2020-05-14 14:04:18 -07:00
command.go Bot: Added automatic Intents detection from handlers 2020-10-28 22:49:18 -07:00
ctx.go API: Added timeout if deadline is after rate limit (#173) 2020-11-25 12:08:42 -08:00
ctx_call.go Bot: Fixed CustomParser trim not using aliases and plumbs 2020-11-14 22:27:55 -08:00
ctx_plumb_test.go *: Migrated Go Modules to v2 2020-10-28 15:39:59 -07:00
ctx_test.go Bot: Added subcommand aliases and better setup API 2020-11-12 19:02:52 -08:00
error.go Bot: Proper unknown command error punctuations 2020-11-14 22:12:02 -08:00
error_test.go make all error messages lowercase 2020-05-16 23:14:49 +02:00
README.md Bot: Partially implemented middlewares 2020-05-14 13:59:17 -07:00
subcommand.go Bot: Added subcommand aliases and better setup API 2020-11-12 19:02:52 -08:00
subcommand_test.go Bot: Added more tests and the Help API 2020-05-14 14:04:18 -07:00

What are the performance impacts of this library?

Not a lot for a Discord bot:

THIS IS OUTDATED. TODO: UPDATE.

# Cold functions, or functions that are called once in runtime:
BenchmarkConstructor-8               	  150537	      7617 ns/op
BenchmarkSubcommandConstructor-8     	  155068	      7721 ns/op

# Hot functions, or functions that can be called multiple times:
BenchmarkCall-8                      	 1000000	      1194 ns/op
BenchmarkHelp-8                      	 1751619	       680 ns/op

# Hot functions, but called implicitly on non-message-create events:
BenchmarkReflectChannelID_1Level-8   	10111023	       113 ns/op
BenchmarkReflectChannelID_5Level-8   	 1872080	       686 ns/op