Giter Club home page Giter Club logo

Comments (12)

andrew-ayers avatar andrew-ayers commented on August 22, 2024 3

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.

callowaysutton avatar callowaysutton commented on August 22, 2024

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.

FellippeHeitor avatar FellippeHeitor commented on August 22, 2024

qbx.cpp is in every program compiled with QB64, not just the IDE.

from qb64.

callowaysutton avatar callowaysutton commented on August 22, 2024

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.

callowaysutton avatar callowaysutton commented on August 22, 2024

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.

Kroc avatar Kroc commented on August 22, 2024
  • Optimize for speed
  • Optimize for size

from qb64.

alexmyczko avatar alexmyczko commented on August 22, 2024

[ ] 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.

callowaysutton avatar callowaysutton commented on August 22, 2024

I'm pretty sure -s (Stripping) option is already enabled, but I'm not completely positive.

from qb64.

callowaysutton avatar callowaysutton commented on August 22, 2024

Unless you mean the strip program?

from qb64.

alexmyczko avatar alexmyczko commented on August 22, 2024

stripping with the compiler or stripping with the program is the same, afaik

from qb64.

callowaysutton avatar callowaysutton commented on August 22, 2024

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.

FellippeHeitor avatar FellippeHeitor commented on August 22, 2024

Moved to https://github.com/QB64Team/qb64

from qb64.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.