Cpu Optimisation (next to Executable format)
This setting allows to include Cpu optimised PB functions in your executable:
All CPU : The generic functions are included that run on all CPUs.
Dynamic CPU : The generic functions as well as any available CPU specific function are included. The function to execute is decided at runtime. This creates a bigger executable, but it will run as fast as possible on all CPUs.
All other options : Include only the functions for a specific CPU. The executable will not run on any Cpu that does not support this feature.
But it does not work!
What sense in of this option?
This is for Libs/UserLibs that support this!
I think, in the moment are no libs available
PureBasic 5.73 | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Old bugs good, new bugs bad! Updates are evil: might fix old bugs and introduce no new ones.
Here I am about the same. At the moment it is a useless option.
But PB-library written in C ++ and can be compiled with these optimizations. Then the option will work.
PureBasic 5.73 | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Old bugs good, new bugs bad! Updates are evil: might fix old bugs and introduce no new ones.
ts-soft wrote:You have to export your functionnames with different names, like
PB-libraries this is not do.
UserLibrary, are also typically such that do not do (me such libraries not known).
I would like to fully support these options in the PB-libraries. This would allow to create fast, work programs are activated, for example the technology SSE2.
What your program need for optimisation If you write viruses, only ?
"Bring to your attention, one way, to protect the process of terminate" - by "User_Russian".
Long time on Russian forums you is teacher to writting malware.
I have the same question - how useful those options are and how they work?
I didn't found any SSE/SSE2 instructions within output assembly (at least while testing with some simple examples using doubles, etc).
Are they only to claim "we have SSE/SSE2 support" ?
You have to write those functions (in C or ASM preferably), name them as explained in this thread (I think), put them in a PB library and then enable their usage through those options.
And PB uses at least some SSE instructions on x64, for example Int() is one I remember it does.
sys64802 wrote:You have to write those functions (in C or ASM preferably), name them as explained in this thread (I think), put them in a PB library and then enable their usage through those options.
And PB uses at least some SSE instructions on x64, for example Int() is one I remember it does.
Well then those options anyway looking just like a cheating being related to "CPU optimization" setting, cause many users would rather understand them as "compiler will use sse2 instructions where it is possible to optimize calculations" like it is in C/C++ compilers, not like "this will enable Purebasic-specific function selector when dealing with user libs".
I agree but not if they read the manual as I did the first time I saw them, after initially thinking what you thought.
Note: No PB functions actually support this feature for now (it is ignored for them). However, some User Libraries include such optimisations.
Probably the last part should be "may include" to be on the safe side.
Knowing at the time that sentence was written some unknown user library supported them is not much useful.
But yes, this is in contrast with what happens with most of the compilers out there.