GSoC projects are announced

2016-04-24 Thread Prasad Ghangal
Hi all !
Sorry this is little late reply. Accepted projects for GSoC are
announced. gcc has accepted 3 proposals this year. I want to thank gcc
community for accepting proposal for GIMPLE FE project. I will give my
best to complete the project.



Thanks,
Prasad Ghangal


gcc-7-20160424 is now available

2016-04-24 Thread gccadmin
Snapshot gcc-7-20160424 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/7-20160424/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 7 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/trunk revision 235397

You'll find:

 gcc-7-20160424.tar.bz2   Complete GCC

  MD5=4134bd00e14525b2205141c4eed273bb
  SHA1=6cc1f47fbf46432d49c216e13b62c0f211c22342

Diffs from 7-20160417 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-7
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.


std::list iteration performance for under 1000 elements

2016-04-24 Thread Soul Studios

Hi guys,
I was wondering if any of you could explain this performance for me:
www.plflib.org/colony.htm#benchmarks

(full disclosure, this is my website and benchmarks - I just don't under 
the std::list results I'm getting at the moment)


If you look at the iteration performance graphs, you'll see that 
std::list under gcc (and MSVC, from further testing) has /really good/ 
forward-iteration performance for under 1000 elements (fewer elements 
for larger datatypes).
Why is this. Everything I know about std::list's (non-contiguous memory 
allocation, cache effect) implementation tells me it should have 
terrible iteration performance. But for under 1000 elements it's often 
better than std::deque?


Benchmarking is done with templates, so there's no different code 
between std::deque and std::list (with the exception of std::list using 
push_front rather than push_back, for these tests) - and subsequent 
changes to the benchmark code have made no difference to the restuls.


Anyway, if anyone here is a GCC developer and has an understanding of 
why this happens, I'd be appreciative.


Cheers,
matt


Re: std::list iteration performance for under 1000 elements

2016-04-24 Thread Florian Weimer

On 04/25/2016 12:51 AM, Soul Studios wrote:

Hi guys,
I was wondering if any of you could explain this performance for me:
www.plflib.org/colony.htm#benchmarks

(full disclosure, this is my website and benchmarks - I just don't under
the std::list results I'm getting at the moment)

If you look at the iteration performance graphs, you'll see that
std::list under gcc (and MSVC, from further testing) has /really good/
forward-iteration performance for under 1000 elements (fewer elements
for larger datatypes).
Why is this. Everything I know about std::list's (non-contiguous memory
allocation, cache effect) implementation tells me it should have
terrible iteration performance. But for under 1000 elements it's often
better than std::deque?


Such questions should probably go to the help list.

You should look at this with perf, preferably counting cache misses.  I 
suspect that for working sets which fit into the first-level cache of 
the CPU, the simpler iterators for std::list are faster than std::deque 
because the additional memory accesses in std::list are cheaper than the 
fairly complicated iterator implementation in std::deque.


Florian