CPU with MMX/SSE/... and Dynamic CPU optimizations

Everything else that doesn't fall into one of the other PB categories.
DarkDragon
Addict
Addict
Posts: 2348
Joined: Mon Jun 02, 2003 9:16 am
Location: Germany
Contact:

CPU with MMX/SSE/... and Dynamic CPU optimizations

Post by DarkDragon »

Hello,

Once upon a time when we all were a bit younger, there was a question about those optimizations like "Are they implemented? I can't see any difference." and the answer was "This option is there for future libraries and for userlibraries". Well now, what is the status on this? Are some purebasic libraries optimized for those options? Which ones?

Regards,
Daniel
bye,
Daniel
User avatar
Psychophanta
Always Here
Always Here
Posts: 5153
Joined: Wed Jun 11, 2003 9:33 pm
Location: Anare
Contact:

Post by Psychophanta »

Good question.
ATM take it in the editor just as an adornment. 8)
http://www.zeitgeistmovie.com

while (world==business) world+=mafia;
Fred
Administrator
Administrator
Posts: 18557
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Post by Fred »

True, none of PB commands are optimized for this :P. That said may be some user commands are ?
Thalius
Enthusiast
Enthusiast
Posts: 711
Joined: Thu Jul 17, 2003 4:15 pm
Contact:

Post by Thalius »

Hmm.. tho it could be handy if we could make a list of functions that would benefit from such optimizations. Thinking for the moment mostly about the graphic, sprite and eventually compression functions. But maybe somone with more inside-knowledge has some suggestions - it would afterall make PB even faster, especially since things like SSE and MMX are out quiet a while now.

Cheers,
Thalius
"In 3D there is never enough Time to do Things right,
but there's always enough Time to make them *look* right."
"psssst! i steal signatures... don't tell anyone! ;)"
USCode
Addict
Addict
Posts: 924
Joined: Wed Mar 24, 2004 11:04 pm
Location: Seattle

Disable

Post by USCode »

Maybe that CPU Optimizations dropdown should be disabled then with the default "All CPU" always selected? Otherwise it gives a false impression and only causes confusion?
DarkDragon
Addict
Addict
Posts: 2348
Joined: Mon Jun 02, 2003 9:16 am
Location: Germany
Contact:

Post by DarkDragon »

I don't know, but maybe MasterCreating has done it with their engine written in C. And some others may also use it and don't share their libs, so why should we disable the box.
bye,
Daniel
User avatar
Michael Vogel
Addict
Addict
Posts: 2867
Joined: Thu Feb 09, 2006 11:27 pm
Contact:

Post by Michael Vogel »

Since PB4.3 is available, I'm not sure if user libraries are useful. I try to avoid using them where possible, because nobody can tell if the lib will work with future releases of Purebasic.

For example, the PBOSL does not work (completely) under PB4.30! It was a brave idea to bring good routines from a couple of good programmers into one lib - but using functions of the lib may cause problems when Purebasic will be developed further.

I would propose on of these three possibilities for library functions:
- transform them to Purebasic includes
- something like a "PB certified library" quality sign which guarantees a (high chance) of future compatibility
- integrate important functions in the Purebasic standard libs

Okay, these things may have nothing to do with CPU optimization directly. But when developing a library function I would think twice before working hours and hours for getting it some milliseconds faster if can't be aware that the library will work in future versions of Purebasic as well.
DarkDragon
Addict
Addict
Posts: 2348
Joined: Mon Jun 02, 2003 9:16 am
Location: Germany
Contact:

Post by DarkDragon »

Michael Vogel wrote:Since PB4.3 is available, I'm not sure if user libraries are useful. I try to avoid using them where possible, because nobody can tell if the lib will work with future releases of Purebasic.
Well, you are not right, because you just know Tailbite. Those normal libraries (Even from PBOSL) have always worked, just those tailbite libraries not.
bye,
Daniel
JCV
Enthusiast
Enthusiast
Posts: 580
Joined: Fri Jun 30, 2006 4:30 pm
Location: Philippines

Post by JCV »

PBOSL is opensource so if something breaks on PB update you just need to recompile it.

User libraries are good as long as the author updates it. Or better if they also share the sourcecode/includefile.

[Registered PB User since 2006]
[PureBasic 6.20][SpiderBasic 2.2]
[RP4 x64][Win 11 x64][Ubuntu x64]
User avatar
pdwyer
Addict
Addict
Posts: 2813
Joined: Tue May 08, 2007 1:27 pm
Location: Chiba, Japan

Post by pdwyer »

I agree, if PBOSL isn't keeping up then that just implies that there isn't enough effort going into it anymore. That may be because some of the parts of it are obsolete now with new versions and should be dropped. If the parts that aren't needed ARE dropped then supporting the rest would not be so hard perhaps.

I think that new people to PB aren't hearing about PBOSL much and it may not clear how to get involved to update it.

Theres been a lot of activity from PB lately so I think peoples minds are focused on getting their features that way but things may slow down again from time to time.

DLLs are also a possibility. I know a lot of people don't like the extra baggage but they are a bit more compiler version proof. Just a thought. Personally I'm an include fan formost but DLLs are a good way to isolate some standard routines into a logical module (network functions like ping, trace etc, search routines and string functions, math and large nums) etc
Paul Dwyer

“In nature, it’s not the strongest nor the most intelligent who survives. It’s the most adaptable to change” - Charles Darwin
“If you can't explain it to a six-year old you really don't understand it yourself.” - Albert Einstein
DarkDragon
Addict
Addict
Posts: 2348
Joined: Mon Jun 02, 2003 9:16 am
Location: Germany
Contact:

Post by DarkDragon »

No I don't think you understand it.

PBOSL is not ONE Library, PBOSL are about 20-30 Libraries which are independent from each other. And some are built with C/C++, some with ASM, some with PureBasic and the inofficial PureBasic Add-On Tailbite.

Well and when you create a library with C/C++ or ASM you don't need to recompile it every PB version. With PureBasic and Tailbite, you need to recompile it.

------------------------------------

In the next version of PBOSL, PureBasic libraries will be delivered as includes (so we don't need to tailbite them all the time) and just those, written in C or Assembler will be real libraries. But as you are inable to wait (like a child always crying: "Are we there, yet?" ... 1 minute later ... "Are we there, yet?" ... 1 minute later ... "Are we there, yet?") you can take the sources and use them.

We are just making sure the global variables won't hit your sources (Me) and we make them 64bit compatible (Rings). And we are changing the license maybe (Because people don't like LGPL).

Ignorant people ... ohh how I hate 'em.
bye,
Daniel
User avatar
pdwyer
Addict
Addict
Posts: 2813
Joined: Tue May 08, 2007 1:27 pm
Location: Chiba, Japan

Post by pdwyer »

DarkDragon wrote:... But as you are inable to wait ...
Ignorant people ... ohh how I hate 'em.
no one mentioned anything about not being able to wait :?
Paul Dwyer

“In nature, it’s not the strongest nor the most intelligent who survives. It’s the most adaptable to change” - Charles Darwin
“If you can't explain it to a six-year old you really don't understand it yourself.” - Albert Einstein
DarkDragon
Addict
Addict
Posts: 2348
Joined: Mon Jun 02, 2003 9:16 am
Location: Germany
Contact:

Post by DarkDragon »

pdwyer wrote:
DarkDragon wrote:... But as you are inable to wait ...
Ignorant people ... ohh how I hate 'em.
no one mentioned anything about not being able to wait :?
if PBOSL isn't keeping up then that just implies that there isn't enough effort going into it anymore.
We are working on it implies with your sentence, that we aren't working hard/fast enough.

Like the modus ponens afaik.
bye,
Daniel
User avatar
pdwyer
Addict
Addict
Posts: 2813
Joined: Tue May 08, 2007 1:27 pm
Location: Chiba, Japan

Post by pdwyer »

ahh, you misunderstand me,

I'm not talking about people sitting around holding their breath. I'm refering to the level of cooperation and involvement from the community at large in the opensource work. (or atleast my perception of it)
Paul Dwyer

“In nature, it’s not the strongest nor the most intelligent who survives. It’s the most adaptable to change” - Charles Darwin
“If you can't explain it to a six-year old you really don't understand it yourself.” - Albert Einstein
User avatar
Rescator
Addict
Addict
Posts: 1769
Joined: Sat Feb 19, 2005 5:05 pm
Location: Norway

Re: Disable

Post by Rescator »

USCode wrote:Maybe that CPU Optimizations dropdown should be disabled then with the default "All CPU" always selected? Otherwise it gives a false impression and only causes confusion?
I kinda like this idea, MMX and SSE variants should still be supported in the compiler tough. But I do not see any point in having the choice in the IDE any more.

So my suggestion is to default it to "Dynamic CPU" instead and remove the choice from the IDE. (and maybe put the "none" "user mode" "admin mode" in it's place as a drop down list)
Post Reply