Comments (8)
Thanks for opening your first issue here! ๐ Be sure to follow the issue template! If you need help or want to chat with us, join us on Discord https://gofiber.io/discord
from fiber.
https://docs.gofiber.io/#zero-allocation
correct, the request/response context is not thread safe or cannot be used in other concurrent go routines outside of this flow
you need to make copies of the values you want to use in this flow
we achieve this performance in our framework by reusing this context after the run for the next one
from fiber.
@omaskery does it answer your question?
from fiber.
Ah, so to me the wording of the documentation makes it clear that you should not keep references to Ctx that outlive the handler's execution, but it does not make clear to me that it isn't thread-safe during the execution of a handler.
If I'm understanding you correctly that the fiber.Ctx
is not thread-safe, even within the handler's duration, then I think you've answered my question, thank you.
I do feel that it might be worth explicitly stating in the documentation that this struct is not thread-safe. What do you think?
from fiber.
I do feel that it might be worth explicitly stating in the documentation that this struct is not thread-safe. What do you think?
yes that would be good
can you provide this as a contribution to our current documentation ?
from fiber.
Yeah I'm willing to give that a go :)
from fiber.
I still never get it, hard to understand for me haha
from fiber.
I still never get it, hard to understand for me haha
what do you not understand ? the context cannot be torn out of its process and simply be used in a parallel process
because it is reused after the request response process
and it is not designed to access the methods in parallel, there might be problems in some places
therefore you should extract the values beforehand and use them in the parallel run
from fiber.
Related Issues (20)
- ๐ [Bug]: Limiter middleware with pebble storage does not deduct remaining limit
- ๐ [Proposal]: Improving route matching and url parsing performance with Ada Url HOT 7
- Improve Error Handling in CSRF Middleware Storage
- ๐ค [Question]: v3 when ready for production HOT 1
- ๐ [Bug]: Unclear "json: invalid use of ,string struct tag, trying to unmarshal unquoted value into uint64" HOT 9
- ๐ค [Question]: Cache Next is not called when KeyGenerator is Defined HOT 6
- ๐ [Bug]: v3 Flash Message with redirect is not working HOT 3
- ๐ [Proposal]: Upgrade fiber.NewError() for error handle HOT 4
- ๐ [Proposal]: Reduce memory usage for "prefork" mode of the master process HOT 2
- ๐งน [Maintenance]: Add Parallel Benchmarks
- ๐ค [Question]: zero allocation - why is this any different from how Chi or others behave? Can you document an example of what you mean? HOT 8
- ๐ค [Question]: FX with Fiber graceful shutdown Failed to stop cleanly: context deadline exceeded HOT 15
- ๐ค [Question]: whats the session id injection issue in github report HOT 4
- ๐ [Bug]: Mutex issues with Idempotency middleware
- ๐ [Bug]: Logger module causes OOM with ${bytesSent} and ${bytesReceived} HOT 10
- ๐ค [Question]: limiter supports dynamic setting of โMaxโ parameter HOT 8
- ๐ [Proposal]: Add StartupProbe support to healthcheck Middleware HOT 5
- [Question]: Can't debug in Goland in Routes HOT 2
- ๐ [Bug]: cache middleware: runtime error: index out of range [0] with length 0 HOT 15
- ๐ [Proposal]: Get session by its ID HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fiber.