Comments (3)
@CohenArthur @Skallwar any specific reason for bringing python and http.server ?
Not really :D It was simple, and this is what the first testing benchmark was originally written in. It would scrape http://books.toscrape.com/ and time it, which was bad for a number of reasons. I am definitely not against functional testing/benchmarking being done in Rust, and I don't think @Skallwar is either.
Also instead of cloning the linux repo there could be "a seed" setting that readily generates into repeatable data for various test cases as there can be different performance scenarios for tons of small files, large files, error handling etc.
The test clones the linux repository in order to benefit from a big folder with known data. We checkout the v5.9 branch so that every test runs against the same content. Seeding it would be interesting, but maybe not for this speedtest specifically.
If you are keen I could push a PR
That would be absolutely fantastic and we'd love it! I believe that we are using some form of HTTP mocking in the tests already, so this would definitely fit. Thanks a lot!
from suckit.
@CohenArthur @Skallwar any specific reason for bringing python and http.server ?
httpmock is rust too and runs either standalone or via API in sync and async context if you wish to decide adopt async later and include it easily within tests.
httpmock runs on hyper (like reqwest) and also features delay setting and I've been pondering contributing there for more network behaviour scenarios.
nginx also would provide sendfile and other optimisations if standalone is still required and it's portable and fast.
nginx also is event based reactor (+prefork) which means no messing with threads while you serve static content but simulating (without breaking portability) delay scenarios and other network blips is harder with limit_req, limit_req_zone, rate=20r/s
Also instead of cloning the linux repo there could be "a seed" setting that readily generates into repeatable data for various test cases as there can be different performance scenarios for tons of small files, large files, error handling etc.
If you are keen I could push a PR
from suckit.
Self hosted server to avoid network delays
Fixed by #108
from suckit.
Related Issues (20)
- Fonts download support
- Quoting issue on charset detection HOT 3
- Unicode handling of --include and --exclude HOT 8
- Give tl a try HOT 1
- Solved: error: linkr 'cc' not found during install HOT 2
- Proxy support HOT 8
- Panic when folder path with dot serves a webpage HOT 3
- Incorrect local URLs on an index_no_slash.html HOT 2
- Failure in name resolution on books.toscrape.com HOT 1
- Fix release cross compilation CI HOT 1
- Only download certain filetypes HOT 1
- Crash with v0.2.0 HOT 3
- Build for riscv64
- Exclude already downloaded file HOT 1
- Make URL Processing optional HOT 3
- Add URLs to depth tree from CSS HOT 4
- Stuck thread on silent connection close HOT 12
- Create issue template
- Resume download for large websites HOT 2
- Moving currently downloaded files and folders 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 suckit.