Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Raj Pashwar <raj121190@hotmail.NOSPAM.com> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Optimisation questions |
| Date | 2012-02-05 10:51 +0000 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <jgln0d$jj2$1@speranza.aioe.org> (permalink) |
| References | <jgkbiu$432$1@speranza.aioe.org> <jgkfso$1bh$2@dont-email.me> |
Thanks for all the answers, x&8 looks like a good one for efficiency. I also had another idea while sleeping - amazing how that helps :) At program startup, maybe in another thread, I can build an array of all x/8, x%8 for x's that might occur, then just look up in this array instead of doing the division every time. I will try this today also. Thanks On Sat, 04 Feb 2012 18:44:25 -0500, James Kuyper wrote: > On 02/04/2012 05:30 PM, Raj Pashwar wrote: >> Hello : >> >> My current program runs too slow. It uses x/8 and x%8 many times, where >> x is an int in both cases. >> >> I have replaced x/8 with x>>3, as this is faster (pretty sure). >> However, I am not sure whether this is faster than x%8 : x-=(x>>3)<<3; > > As a general rule, your compiler should generate exactly the same code > for x/8 and x>>3, because they're required to have exactly the same > behavior. If it doesn't, get a better one. What that code will be may be > different on different machines, it might be called a division > instruction on one machine, and a shift instruction on a different > machine, but you can generally trust the compiler to know which one is > faster. If it doesn't, get a better one. > > >> Is this generally a good optimisation to use? >> >> Also I've got a memory region that I constantly need to access, so I >> would like it to be in cache. I know that I can use 'register' in >> variable declarations, to speed up it's access. > > That's unlikely to be the case; if putting it in a register would speed > up, you can be reasonably sure the compiler already puts it in a > register, even if you don't specifically tell it to do so. If it didn't > put it in a register, it probably had a good reason for not doing so; in > that case, if it paid attention to your "register" declaration, it could > actually slow your program down. For precisely this reason, most > compilers ignore the keyword "register", and the way the standard is > written, this is perfectly acceptable behavior.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Optimisation questions Raj Pashwar <raj121190@hotmail.NOSPAM.com> - 2012-02-04 22:30 +0000
Re: Optimisation questions Ian Collins <ian-news@hotmail.com> - 2012-02-05 11:44 +1300
Re: Optimisation questions Keith Thompson <kst-u@mib.org> - 2012-02-04 14:52 -0800
Re: Optimisation questions Ian Collins <ian-news@hotmail.com> - 2012-02-05 11:55 +1300
Re: Optimisation questions Phil Carmody <thefatphil_demunged@yahoo.co.uk> - 2012-02-21 18:41 +0200
Re: Optimisation questions "BartC" <bc@freeuk.com> - 2012-02-04 22:44 +0000
Re: Optimisation questions "BartC" <bc@freeuk.com> - 2012-02-04 23:41 +0000
Re: Optimisation questions Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-02-04 17:51 -0500
Re: Optimisation questions Keith Thompson <kst-u@mib.org> - 2012-02-04 14:52 -0800
Re: Optimisation questions James Kuyper <jameskuyper@verizon.net> - 2012-02-04 18:44 -0500
Re: Optimisation questions Stephen Sprunk <stephen@sprunk.org> - 2012-02-04 18:00 -0600
Re: Optimisation questions James Kuyper <jameskuyper@verizon.net> - 2012-02-04 21:18 -0500
Re: Optimisation questions Kaz Kylheku <kaz@kylheku.com> - 2012-02-05 03:04 +0000
Re: Optimisation questions Dann Corbit <dcorbit@connx.com> - 2012-02-06 09:40 -0800
Re: Optimisation questions Willem <willem@toad.stack.nl> - 2012-02-06 18:51 +0000
Re: Optimisation questions Markus Wichmann <nullplan@gmx.net> - 2012-02-07 14:19 +0100
Re: Optimisation questions Dann Corbit <dcorbit@connx.com> - 2012-02-07 14:25 -0800
Re: Optimisation questions Stephen Sprunk <stephen@sprunk.org> - 2012-02-06 17:29 -0600
Re: Optimisation questions Kaz Kylheku <kaz@kylheku.com> - 2012-02-06 23:52 +0000
Re: Optimisation questions pete <pfiland@mindspring.com> - 2012-02-06 19:10 -0500
Re: Optimisation questions Raj Pashwar <raj121190@hotmail.NOSPAM.com> - 2012-02-05 10:51 +0000
Re: Optimisation questions Ian Collins <ian-news@hotmail.com> - 2012-02-06 00:08 +1300
Re: Optimisation questions Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-02-05 08:13 -0500
Re: Optimisation questions "BartC" <bc@freeuk.com> - 2012-02-05 11:33 +0000
Re: Optimisation questions Zoltan Kocsi <zoltan@bendor.com.au> - 2012-02-05 23:24 +1100
Re: Optimisation questions Raj Pashwar <raj121190@hotmail.NOSPAM.com> - 2012-02-05 22:28 +0000
Re: Optimisation questions Kaz Kylheku <kaz@kylheku.com> - 2012-02-05 22:37 +0000
Re: Optimisation questions Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-02-05 17:48 -0500
Re: Optimisation questions Keith Thompson <kst-u@mib.org> - 2012-02-05 15:57 -0800
Re: Optimisation questions "BartC" <bc@freeuk.com> - 2012-02-05 12:53 +0000
Re: Optimisation questions Geoff <geoff@invalid.invalid> - 2012-02-04 16:07 -0800
Re: Optimisation questions "christian.bau" <christian.bau@cbau.wanadoo.co.uk> - 2012-02-04 15:37 -0800
Re: Optimisation questions Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-02-05 04:26 -0800
Re: Optimisation questions lawrence.jones@siemens.com - 2012-02-07 10:56 -0500
Re: Optimisation questions Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-02-05 04:29 -0800
Re: Optimisation questions Michael Angelo Ravera <maravera@prodigy.net> - 2012-02-05 23:24 -0800
csiph-web