Comments (10)
Yea, I noticed the slowdown when I added that header. strftime
is not too fast in libtime
. I filed rust-lang/rust#18556 to try to fix this.
from hyper.
In profiles it looks like most of the time is spent in rust_timegm
, which is a C foreign function.
from hyper.
Ah, would that be because of the tm.to_utc()
call?
from hyper.
Yes, I think.
from hyper.
Yea, so to_utc
calls Tm.to_timespec()
, which is calling rust_timegm
: http://doc.rust-lang.org/src/time/home/rustbuild/src/rust-buildbot/slave/nightly-linux/build/src/libtime/lib.rs.html#327
from hyper.
I wonder if that will improve with runtime removal.
from hyper.
It seems like it's a waste of calls. The Tm
is already in UTC, since the default is calling time::utc_now()
. It notices the gmt_offset
is 0, so it seems like it could just return itself quickly without touching the C function...
from hyper.
While that should be fixed in libtime
, I could try checking for tm_gmtoff == 0
myself, and if so, no need to call to_utc()
.
from hyper.
The TmFmt
patch was merged 2 days ago. With that and the #100 patch, does this improve things noticeably?
from hyper.
Yup, this is basically gone from the profiles.
from hyper.
Related Issues (20)
- About h2 server config `DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE`
- Very slow body read times on hyper 1+ HOT 3
- How to limit the size of request headers?
- I hope the code can be modified as follows HOT 3
- `Upgraded::downcast_ref` is unusable with `hyper_util::server::conn::auto` HOT 8
- Is it possible to add a server demo to CAPI? HOT 1
- The script that generates the header file is not available HOT 2
- I see that in client.c in the C API, select is used for socket listening. Does this mean the C API does not support Tokio?
- hyper::Error(User(DispatchGone) on client request using tonic HOT 3
- Custom response header value is a copy of custom request header value HOT 2
- [Not a bug] internal error: h2 protocol error: http2 error: stream error sent by user: unexpected internal error encountered
- No `Connection: close` on HTTP1 Connection Drain HOT 1
- hang when client receives header response that's too big in http2
- hyper-util: expose connection info on whether it's reused from the pool or newly established HOT 3
- Poor performance in http/1.1 with many socket connections HOT 7
- Documentation: Lack of a Quick Start/Basic Usage section HOT 2
- cargo bench fails to compile HOT 5
- Allow clients to send data before headers are received HOT 9
- connection error: user body write aborted: early end, expected xxxx more bytes HOT 1
- Test `test_try_send_request` is flaky
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 hyper.