Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | "BartC" <bc@freeuk.com> |
|---|---|
| Newsgroups | comp.lang.c |
| References | (2 earlier) <ON5ss.547483$9H4.97721@fx17.am4> <CfOdnaGneYfq2S7NnZ2dnUVZ8qWdnZ2d@lyse.net> <wMJss.415038$GX.256945@fx01.am4> <q-qdnajpsMhH8y7NnZ2dnUVZ7qidnZ2d@lyse.net> <eQKss.416451$GX.160924@fx01.am4> |
| Subject | Re: inline functions |
| Message-ID | <DLLss.354287$YJ1.149133@fx09.am4> (permalink) |
| Organization | virginmedia.com |
| Date | 2012-11-26 15:14 +0000 |
"BartC" <bc@freeuk.com> wrote in message news:eQKss.416451$GX.160924@fx01.am4... > So I will try and do something with those inlining attributes when I've > finished development (at the moment it's just a distraction, so those > functions are kept external. Then I will know if any increase/reduction is > speed is do with my code, rather than a different inlining strategy coming > into play). I decided to try something with inlining now. With all my functions in the same file as the dispatch code, but all with 'noline' attribute, the timings are the same as when the functions are external: Switch: 75 seconds Label ptrs: 66 seconds With all functions using 'always_inline', I get: Switch: 60 seconds Label ptrs: 48 seconds About 37% increase in performance (27% decrease in execution time), using label pointers (but a switch still needs to be considered, as label pointers are not portable). I was a bit worried because many functions are now called in several places (some handlers are wrappers or stubs for others), but it seemed to work out. (I'm quite impressed. When I first tried a C version of this project, it was about 1/3 the speed of my last (experimental) interpreter, and 1/2 the speed of my current production interpreter. That 48 seconds makes it faster than that latter one! There is also a way of getting better performance: to generate C source code instead, a series of function calls, to a modified set of handlers. Then it will be faster than either, but it will no longer be quite so dynamic then when it's hard-coded into the C program...) -- Bartc
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
inline functions "BartC" <bc@freeuk.com> - 2012-11-24 12:20 +0000
Re: inline functions SG <sgesemann@gmail.invalid> - 2012-11-24 14:52 +0100
Re: inline functions "BartC" <bc@freeuk.com> - 2012-11-24 14:48 +0000
Re: inline functions Joost Kraaijeveld <J.Kraaijeveld@Askesis.nl> - 2012-11-24 15:59 +0100
Re: inline functions Alain Ketterlin <alain@dpt-info.u-strasbg.fr> - 2012-11-24 16:25 +0100
Re: inline functions Johann Klammer <klammerj@NOSPAM.a1.net> - 2012-11-24 19:18 +0100
Re: inline functions Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-11-24 15:07 +0000
Re: inline functions "BartC" <bc@freeuk.com> - 2012-11-24 15:33 +0000
Re: inline functions Alain Ketterlin <alain@dpt-info.u-strasbg.fr> - 2012-11-24 17:17 +0100
Re: inline functions "BartC" <bc@freeuk.com> - 2012-11-24 16:39 +0000
Re: inline functions Alain Ketterlin <alain@dpt-info.u-strasbg.fr> - 2012-11-24 18:13 +0100
Re: inline functions Jens Gustedt <jens.gustedt@loria.fr> - 2012-11-24 19:36 +0100
Re: inline functions Sergio Durigan Junior <sergiodj@riseup.net> - 2012-12-05 03:19 -0200
Re: inline functions Jens Gustedt <jens.gustedt@loria.fr> - 2012-12-05 10:57 +0100
Re: inline functions Sergio Durigan Junior <sergiodj@riseup.net> - 2012-12-05 15:34 -0200
Re: inline functions Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-11-25 09:43 +0000
Re: inline functions Alain Ketterlin <alain@dpt-info.u-strasbg.fr> - 2012-11-25 11:32 +0100
Re: inline functions Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-11-27 21:55 +0000
Re: inline functions "christian.bau" <christian.bau@cbau.wanadoo.co.uk> - 2012-11-26 04:16 -0800
Re: inline functions David Brown <david@westcontrol.removethisbit.com> - 2012-11-26 14:13 +0100
Re: inline functions Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-11-28 21:27 +0000
Re: inline functions James Kuyper <jameskuyper@verizon.net> - 2012-11-28 16:40 -0500
Re: inline functions Ben Pfaff <blp@cs.stanford.edu> - 2012-11-28 14:15 -0800
Re: inline functions Sergio Durigan Junior <sergiodj@riseup.net> - 2012-11-29 00:02 -0200
Re: inline functions Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-11-29 07:24 -0800
Re: inline functions James Kuyper <jameskuyper@verizon.net> - 2012-11-29 11:04 -0500
Re: inline functions Sergio Durigan Junior <sergiodj@riseup.net> - 2012-11-29 14:44 -0200
Re: inline functions Les Cargill <lcargill99@comcast.com> - 2012-11-29 12:44 -0600
Re: inline functions Sergio Durigan Junior <sergiodj@riseup.net> - 2012-11-29 20:43 -0200
Re: inline functions Les Cargill <lcargill99@comcast.com> - 2012-11-29 20:14 -0600
Re: inline functions Ian Collins <ian-news@hotmail.com> - 2012-11-30 07:44 +1300
Re: inline functions Sergio Durigan Junior <sergiodj@riseup.net> - 2012-11-29 20:38 -0200
Re: inline functions Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-12-05 03:17 +0000
Re: inline functions Noob <root@127.0.0.1> - 2012-12-05 11:26 +0100
Re: inline functions David Brown <david@westcontrol.removethisbit.com> - 2012-11-26 11:23 +0100
Re: inline functions "BartC" <bc@freeuk.com> - 2012-11-26 13:01 +0000
Re: inline functions David Brown <david@westcontrol.removethisbit.com> - 2012-11-26 14:24 +0100
Re: inline functions Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-11-26 05:35 -0800
Re: inline functions Les Cargill <lcargill99@comcast.com> - 2012-11-26 07:57 -0600
Re: inline functions Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-11-26 07:07 -0800
Re: inline functions Rosario1903 <Rosario@invalid.invalid> - 2012-11-27 09:46 +0100
Re: inline functions David Brown <david@westcontrol.removethisbit.com> - 2012-11-27 10:50 +0100
Re: inline functions "BartC" <bc@freeuk.com> - 2012-11-26 14:14 +0000
Re: inline functions "BartC" <bc@freeuk.com> - 2012-11-26 15:14 +0000
Re: inline functions Rosario1903 <Rosario@invalid.invalid> - 2012-11-27 09:46 +0100
Re: inline functions "BartC" <bc@freeuk.com> - 2012-11-27 14:41 +0000
Re: inline functions David Brown <david@westcontrol.removethisbit.com> - 2012-11-27 11:01 +0100
Re: inline functions "BartC" <bc@freeuk.com> - 2012-11-27 14:37 +0000
Re: inline functions Alain Ketterlin <alain@dpt-info.u-strasbg.fr> - 2012-11-27 18:22 +0100
Re: inline functions James Kuyper <jameskuyper@verizon.net> - 2012-11-27 12:55 -0500
Re: inline functions Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-11-27 22:06 +0000
Re: inline functions David Brown <david@westcontrol.removethisbit.com> - 2012-11-29 09:47 +0100
Re: inline functions glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2012-11-26 14:39 +0000
Re: inline functions Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-11-24 07:20 -0800
Re: inline functions James Kuyper <jameskuyper@verizon.net> - 2012-11-24 10:44 -0500
Re: inline functions James Kuyper <jameskuyper@verizon.net> - 2012-11-24 10:35 -0500
Re: inline functions Philip Lantz <prl@canterey.us> - 2012-11-24 22:56 -0800
Re: inline functions James Dow Allen <jdallen2000@yahoo.com> - 2012-11-25 01:18 -0800
csiph-web