Slackware This Forum is for the discussion of Slackware Linux.
|
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
|
10-07-2012, 12:53 PM
|
#76
|
LQ Guru
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
|
It might be fun to benchmark against Gentoo. Of course, no self respecting Gentoo user would ever believe them if they came out not showing Gentoo to be far superior.
|
|
|
10-07-2012, 01:09 PM
|
#77
|
Member
Registered: Apr 2011
Location: British Columbia, Canada
Posts: 304
Rep:
|
Quote:
Originally Posted by H_TeXMeX_H
It might be fun to benchmark against Gentoo. Of course, no self respecting Gentoo user would ever believe them if they came out not showing Gentoo to be far superior.
|
No one seems to believe results unless they show their distro being the best... just look at this thread!
|
|
|
10-07-2012, 01:40 PM
|
#78
|
LQ Guru
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
|
Quote:
Originally Posted by bosth
No one seems to believe results unless they show their distro being the best... just look at this thread!
|
I don't expect Slackware to be the fastest, in fact I'd bet on Gentoo, but certainly I don't believe that Slackware is much slower than the other distros like the biased phoronix benchmark shows. I don't expect huge differences, just small ones. My own benchmark, although not in-depth shows that it's not possible for Slackware to be much slower.
|
|
1 members found this post helpful.
|
10-07-2012, 02:07 PM
|
#79
|
Senior Member
Registered: Oct 2005
Distribution: Gentoo, Slackware, LFS
Posts: 2,248
|
Quote:
Originally Posted by H_TeXMeX_H
It might be fun to benchmark against Gentoo. Of course, no self respecting Gentoo user would ever believe them if they came out not showing Gentoo to be far superior.
|
With proper settings I expect Gentoo to be superior. But how would you test it anyway? Package-specific tests do not really reflect the overall performance of the system. One could have Slackware and just rebuild a specific package with native settings and it would be almost the same as Gentoo already i.e. if the package does really call much libraries routines. Tests would also vary depending on the instructions that could be included during build and other flags like -floop-block and -fgraphite-identity from graphite. -O3 seemed to yield faster builds (before) but I'm not sure about newer machines now. -unroll-loops as well is not essentially helpful most of the time and just cause too much memory usage. Using graphite is much better to arrange loops to make them work optimized within the native processor's cache.
|
|
|
10-07-2012, 02:08 PM
|
#80
|
LQ Guru
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
|
I would never use '-O3' unless I wanted an unstable system, but I suppose that's normal for Gentoo.
|
|
|
10-07-2012, 02:10 PM
|
#81
|
Senior Member
Registered: Oct 2005
Distribution: Gentoo, Slackware, LFS
Posts: 2,248
|
Quote:
Originally Posted by H_TeXMeX_H
I would never use '-O3' unless I wanted an unstable system, but I suppose that's normal for Gentoo.
|
I used -O3 before with stronger options and my system was stable.
|
|
|
10-07-2012, 02:36 PM
|
#82
|
Senior Member
Registered: Oct 2005
Distribution: Gentoo, Slackware, LFS
Posts: 2,248
|
Quote:
Originally Posted by jtsn
Wrong conclusion.
Most softwares (like Microsoft Windows) don't include machine-specific instructions, CPU vendors know this and optimize their hardware for it (and not for Gentoo). A modern x86 CPU has an instruction decoder to feed RISC-like execution units with micro-instructions for the optimal execution speed. Of course exotic instructions get a penalty and will be emulated in micro-code.
So as a compiler you are aiming for using only the most generic instructions, because the others are slow.
|
I'm quite skeptic. Are you sure that's always true?
Quote:
Performance-wise the best thing you can do on modern hardware is to implement multi-threading
|
Parallel-processing? Not always true in -most- operations, afaik.
Quote:
and make use of specialised units like GPGPU and AESNI. Both you can't do by compiler flags, you have to change the algorithm. Case closed.
|
I'm not sure if that's the best, but do you think that could even be done with normal packages as well? Or do you mean the packages should be hacked first to have them optimized?
Too bad, but I did consider that. That's old info. I read that page a long time ago. And I don't use unroll-loops. Also, we're not talking about principles here. We're just describing how things really are.
|
|
|
10-07-2012, 02:45 PM
|
#83
|
Senior Member
Registered: Oct 2005
Distribution: Gentoo, Slackware, LFS
Posts: 2,248
|
Quote:
Originally Posted by jtsn
In modern hyper-threaded superscalar pipelined out-of-order-execution CPUs there is no concept of "cycles". How much cycles an instruction takes depends on the instructions around it, instructions of other threads, which will be executed on the same core or module, the results of the branch prediction and so on...
|
Basically I just used the term cycles and it's just an example. The concept of gaining efficiency by using encapsulated functions is what I meant.
Quote:
Using "special" CISC instructions from early x86 assembly is a good way to slow your program down.
|
Well I was actually thinking about some newer SSE2 instructions over SSE or lower, not old ones.
|
|
|
10-07-2012, 02:57 PM
|
#84
|
LQ Guru
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,564
|
Actually Gentoo's documentation recommends using the -O2 compile flags, not -O3. In fact any and all "from source" distributions all default to using -O2 as their environmental default compile flag.
Being the "fastest" isn't always equal to being the most "stable" in any regards. Real world usage and longevity of a system's stability factors against other software and added dependencies will outweight any synthetic benchmarks by huge volumes.
Here's a suggestion, let you're own usage be your own benchmark and trust distributions you've used that have been stable, offered what you needed, and were the easiest to use, administrate, and maintain over time.
I don't need a benchmark to tell me which system is the best. I just had to figure it out for myself and then use it.
|
|
|
10-07-2012, 04:02 PM
|
#85
|
Senior Member
Registered: Oct 2005
Distribution: Gentoo, Slackware, LFS
Posts: 2,248
|
@ReaperX7: A vague part of my memory tells that there was actually a time in Gentoo when "-O3 -fomit-frame-pointer -pipe" was recommended, but I'm no longer certain about that. Perhaps if not on the official documentation, it was on a forum post or some updates of list of stable flags somewhere. There might have been a time in Gentoo that even -O3-based compilation was also heavily tested.
With respect to choosing Slackware for stability (and probably, adaptability as well), I won't really question that after all I myself would still prefer Slackware for normal, simple and easier deployments, but with respect to pointing out that Slackware is naturally slower due to the fact that it's more generic and less system-specific, I don't think I could deny myself about that, rationally. It's also based from experience. Anyhow it's not only Slackware that distributes packages generically, I think. There are many distros that are generic as well, but mainly as how I composed my first post I mainly compare it to more optimized distros especially Gentoo or else the thought would be without meaning.
I would like to add something more to the idea: There might be not much difference perhaps on 64 builds as I'm not sure if the compiler makes use of SSE3+ instructions already as I tried to force it but it didn't show on binary dump analysis; maybe the tasks are just rare for the new instructions to be used or perhaps just bad config on my part, or the compiler was patched, not sure, but on 32/i486 there are notable ones. I'm not also sure if Slackware 64 makes use of SSE2 already since it's also available in AMD products I think.
|
|
|
10-07-2012, 05:07 PM
|
#86
|
Moderator
Registered: Dec 2009
Location: Germany
Distribution: Whatever fits the task best
Posts: 17,148
|
Any x86_64 CPU has SSE2 capabilities, so it would be somewhat foolish not to use it.
|
|
|
10-07-2012, 05:29 PM
|
#87
|
Senior Member
Registered: Oct 2005
Distribution: Gentoo, Slackware, LFS
Posts: 2,248
|
@TobiSGD: I had the idea but I just gave an allowance. Reading wikipedia somehow confirms it.
|
|
|
10-07-2012, 05:52 PM
|
#88
|
MLED Founder
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453
|
Quote:
Originally Posted by H_TeXMeX_H
It might be fun to benchmark against Gentoo. Of course, no self respecting Gentoo user would ever believe them if they came out not showing Gentoo to be far superior.
|
http://funroll-loops.info/
|
|
1 members found this post helpful.
|
10-07-2012, 08:02 PM
|
#89
|
Member
Registered: Sep 2011
Posts: 925
|
Quote:
Originally Posted by konsolebox
I'm quite skeptic. Are you sure that's always true?
|
Mainstream compilers like Visual C++ only use generic instructions, so CPU vendors are optimizing there to look good in mainstream application benchmarks. They don't go to Phoronix.
Quote:
Parallel-processing? Not always true in -most- operations, afaik.
|
Even on a dual core Atom CPU, you can gain almost factor 4 by just using openssl -multi 4 with AES128. And of course you can skyrockit it by employing AESNI (not on the Atom though), which a compiler can't do automatically.
Quote:
Originally Posted by konsolebox
Basically I just used the term cycles and it's just an example. The concept of gaining efficiency by using encapsulated functions is what I meant.
|
What do you mean with "encapsulated functions"?
Quote:
Well I was actually thinking about some newer SSE2 instructions over SSE or lower, not old ones.
|
SSE is just single-precision floating-point, which isn't very useful outside of games. SSE2 sometimes is faster than i387, but also at the cost of precision. So you can break applications by applying SSE2 via GCC flags.
Instruction set extensions are best to be used by developers of performance-sensitive applications at the corresponding hot-spots in the code.
|
|
|
10-07-2012, 09:35 PM
|
#90
|
Senior Member
Registered: Oct 2005
Distribution: Gentoo, Slackware, LFS
Posts: 2,248
|
Quote:
Originally Posted by jtsn
Even on a dual core Atom CPU, you can gain almost factor 4 by just using openssl -multi 4 with AES128. And of course you can skyrockit it by employing AESNI (not on the Atom though), which a compiler can't do automatically.
|
So these instructions do processing silently in multiple internal threads?
Quote:
What do you mean with "encapsulated functions"?
|
Well just like AESNI. It does one big step easily with one instruction as compared to calling many generic instructions. I refer that one instruction as an encapsulated function.
Quote:
SSE is just single-precision floating-point, which isn't very useful outside of games. SSE2 sometimes is faster than i387, but also at the cost of precision. So you can break applications by applying SSE2 via GCC flags.
Instruction set extensions are best to be used by developers of performance-sensitive applications at the corresponding hot-spots in the code.
|
I haven't examined instructions much yet but it's not only SSE2 that's around now. What do you think about STTNI of SSE 4.2?
Last edited by konsolebox; 10-07-2012 at 09:46 PM.
Reason: Wrong idea.
|
|
|
All times are GMT -5. The time now is 07:43 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|