Comments (12)
Just gunna throw my 2 cents in: Whatever flags that get passed to the compiler, ultimately they should be configurable (ideally from the IDE). There should definitely be a default set, and it should probably be for whatever makes the fastest executable. But there may be certain cases where you don't care about speed, but about size - so those optimizations should be possible. I could also see in the IDE being able to select "optimize for speed" and "optimize for size" and "custom flags" - or maybe a way to have multiple custom flag options that can be referenced by description (and in that case, the speed/size options could be such options in the list, but non-modifiable). Such a system would get complex quick; you'd probably want a way to copy the options to a new entry, a way to delete a defined config, and maybe a way to sort/rearrange the entries...
from qb64.
That would just speed up the main application wouldn't it? Maybe make the compiler a little bit faster?
I don't know about that making the actual executables produced any faster
from qb64.
qbx.cpp is in every program compiled with QB64, not just the IDE.
from qb64.
Well then what are the hold backs of doing this? And then why not do -Ofast or -O3 since those optimize even further?
from qb64.
Just gunna throw my 2 cents in: Whatever flags that get passed to the compiler, ultimately they should be configurable (ideally from the IDE). There should definitely be a default set, and it should probably be for whatever makes the fastest executable. But there may be certain cases where you don't care about speed, but about size - so those optimizations should be possible. I could also see in the IDE being able to select "optimize for speed" and "optimize for size" and "custom flags" - or maybe a way to have multiple custom flag options that can be referenced by description (and in that case, the speed/size options could be such options in the list, but non-modifiable). Such a system would get complex quick; you'd probably want a way to copy the options to a new entry, a way to delete a defined config, and maybe a way to sort/rearrange the entries...
Yes, can this be added in the IDE menu? It shouldn't be hard to implement at all since all it is doing is changing part of a string in a text file.
Maybe just have a model type menu for it in the 'Options' menu?
from qb64.
- Optimize for speed
- Optimize for size
from qb64.
[ ] run these commands on generated executable: [x] strip [x] upx...
strip as in: Discard symbols from object files.? run upx (Discard symbols from object files.) over it?
from qb64.
I'm pretty sure -s (Stripping) option is already enabled, but I'm not completely positive.
from qb64.
Unless you mean the strip program?
from qb64.
stripping with the compiler or stripping with the program is the same, afaik
from qb64.
stripping with the compiler or stripping with the program is the same, afaik
Sorry I was thinking of thinking of a different program that stripped a binary of unused functions (which I didn't realize was also another command line option in GCC -dead_strip
)
from qb64.
Moved to https://github.com/QB64Team/qb64
from qb64.
Related Issues (20)
- _CONNECTIONADDRESS must be fixed
- Qb64 window is shrinking on macOS. HOT 1
- Distribute windows version as .zip HOT 3
- Is there any way for qb64 to call a python module? HOT 1
- _LOADIMAGE and Relative File Paths HOT 3
- Minor glitch in menu bar
- $VERSIONINFO must be reviewed
- Add built in ASSERT function HOT 5
- Syntax highlighting for numbers must be reviewed
- Optional parameters to SUBs/FUNCTIONs HOT 1
- QB64
- Mesa-Loader HOT 8
- Separating the IDE and Compiler? HOT 1
- SHELL command requiring cmd /c in some scenarios HOT 1
- CLS doesn't clear console text HOT 5
- 1.3 should include the updated help files HOT 2
- Binary Format: "Error Launching Conversion Utility" HOT 4
- Allow definable keyword prefix HOT 3
- Support variables named 💩 (Unicode support) HOT 5
- Some GL Menu Spam + Spam Open Program HOT 8
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 qb64.