Comments (1)
@thomasmodeneis The package is working as intended. It warns you that your ASDExchanger
struct layout is inefficient.
Long story short, the fields of your struct are word aligned. On a x64 machines that means they are padded to 8 bytes. What maligned is telling you is that your struct size is 280 bytes while it could be 248 if you re-organized your fields.
The reason you do not get a warning if you replace bool
by string
is that in that case there are no possible optimizations.
If you do not want to get a warning for that structure, you should move the bool fields to the end of your struct.
Now, the question is whether you actually want to do that. Grouping fields together as you did improve readability. If performance isn't an absolute priority then I would just leave it that way. It's a good trade-off.
You should read the following if you want to know more:
from maligned.
Related Issues (13)
- github.com/golang/tools API change HOT 2
- Add brief summary of memory alignment to README
- Skipping check per struct
- support go mod HOT 1
- port from go/loader to go/packages HOT 1
- analyzer missing from passes/maligned HOT 1
- maligned ignores custom build tags recently HOT 4
- using autofixing in own code
- Archiving repo to prevent usage of deprecated tool
- No args should mean .
- Optimize for pointer slots too HOT 2
- Does maligned recognize vendor directory?
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 maligned.