Comments (4)
Looking at the source code for the go test
command, the computeTestInputsID
function apparently computes the hash of every file that got opened during the first test run. That would explain why the time to run the test varies with the number of subtests being run (taking a slice) even for a cache hit. So it's possible that the overhead for computing all these hashes is making the tests slow on cache hits. If so, it might be possible to speed up that case by putting all the test data into a zip file.
from wire.
Update: I tried putting the testdata directory into a zip file and updating the test to work with that, but got no significant speedup on cache hits. It's puzzling.
from wire.
@zombiezen is saying the slowdown could be the result of the tests opening a bunch of Go standard library packages for type checking. go test
would have to check the hashes of all those files to see if it's a cache hit, and that could take a while.
from wire.
This is not a wire issue. It's an issue in go test
. See golang/go#26726.
from wire.
Related Issues (20)
- Anonymous imports get pushed into a separate import declaration
- wire can not recognize the alias any of interface{} in go 1.18.2 HOT 4
- Missing `go run` or `go build` example of generated code HOT 4
- Is wire still maintained ? HOT 4
- How to work with un-exported interfaces HOT 1
- [Question] Is there a guice for build a singleton object?
- Missed receiver in generated inject method
- Support for concurrent initialization
- function generated by Wire_gen.go "Cannot find declaration to go to" by Golang JetBrains but still run success HOT 5
- Calling wire.Build with a provider set from a structure variable (For modular buildings)
- wire `sync.Map` throw error HOT 2
- I has bean tried for two days, but failed. I define four struct and it's constructor, I define a init function in wire.go, but I can
- I can't use the init function which from my wire.go in my main.go HOT 3
- wire.NewSet support generics HOT 1
- internal/wire: update the path of wire which go generate run wire cmd
- Wire: not enough arguments in call to xxx
- is wire.FieldsOf support any field ? HOT 1
- Support for request scoped DI code generation HOT 2
- Injecting the subpackage into the parent package results in the error "no provider found for invalid type". HOT 2
- How to use wire.Bind() if concrete implementation is resolved at runtime? HOT 2
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 wire.