Wednesday, May 25, 2016

Digest for comp.lang.c++@googlegroups.com - 9 updates in 3 topics

Wouter van Ooijen <wouter@voti.nl>: May 25 09:18PM +0200

Op 25-May-16 om 9:01 PM schreef Stefan Ram:
>> time parametrization) without paying a price in performance or size of
>> over (less parametrizable) C.
 
> That is one, possibly, /the/, strength of C++.
 
For me, it is /the/ strength of C++. And specifically of the template
mechanism, which is so deaded you others for causing code bloat (which
is of course perfectly possible to achieve too).
 
Wouter
legalize+jeeves@mail.xmission.com (Richard): May 25 08:58PM

[Please do not mail me a copy of your followup]
 
Christian Gollwitzer <auriocus@gmx.de> spake the secret code
>>> change or even more
 
>> I don't think I have had *anything* I have ever done take 3 minutes
>> to compile, even after a clean.
 
Then you have only worked on small programs, fast computers or both
:-).
 
Clearly the compile can take longer than 3 minutes if you simply have
enough code to compile.
 
>I can believe that if you only compile your own code. If you are hacking
>on a big project, rebuilding can take very long. Imagine patching
>OpenOffice.
 
Try rebuilding clang-tidy from scratch. It takes me ~15-20 minutes.
I haven't applied various blog post hacks to get that time down to
something less because I'm lazy, but there are various ways to
decrease that time significantly.
 
>There are build distributions available with object files,
>so that you can start hacking on a source file and only need to
>recompile the changed bits, because a full build can take days.
 
While clang doesn't take days to build from scratch, the above is
essentially what the blog posts that I read talked about.
 
>a large number of third-party modules. On Linux, the whole build takes <
>5 minutes. The same using MinGW on Windows takes almost an hour, which
>is extremely annoying.
 
It is my understanding that the biggest thing holding back a Windows
build is that NTFS before Windows 8 performed poorly on small files
compared to linux file systems. With Windows 8, the filesystem
performance improved and coworkers reported decreased build times,
without changing anything other than the filesystem for the build.
--
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
The Computer Graphics Museum <http://computergraphicsmuseum.org>
The Terminals Wiki <http://terminals.classiccmp.org>
Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>
legalize+jeeves@mail.xmission.com (Richard): May 25 09:00PM

[Please do not mail me a copy of your followup]
 
Wouter van Ooijen <wouter@voti.nl> spake the secret code
 
>To make the executable code smaller and faster.
><https://www.youtube.com/watch?v=k8sRQMx2qUw>
 
Ah, thanks for sharing this! One of the members of my user group does
embedded programming in microcontrollers and I bet he will really
enjoy this.
--
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
The Computer Graphics Museum <http://computergraphicsmuseum.org>
The Terminals Wiki <http://terminals.classiccmp.org>
Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>
Wouter van Ooijen <wouter@voti.nl>: May 25 11:12PM +0200

Op 25-May-16 om 11:00 PM schreef Richard:
 
> Ah, thanks for sharing this! One of the members of my user group does
> embedded programming in microcontrollers and I bet he will really
> enjoy this.
 
Let him check http://www.voti.nl/blog/?page_id=144 and see if I have
missed anything important on the C++/small-embedded field. He might
especially like the Kvasir approach.
 
Wouter van Ooijen
Chris Vine <chris@cvine--nospam--.freeserve.co.uk>: May 25 10:28PM +0100

On Wed, 25 May 2016 20:58:50 +0000 (UTC)
> I haven't applied various blog post hacks to get that time down to
> something less because I'm lazy, but there are various ways to
> decrease that time significantly.
 
Or try building the latest webkit-gtk
( http://webkitgtk.org/releases/webkitgtk-2.12.3.tar.xz ) which takes a
little over 1 hour on my 8 core machine when compiled with -j8 (I
daren't say how long it takes on 1 core). This seems entirely down to
its C++ code. And all it is is a javascript/web/html/rendering engine.
 
webkit generally is a pig.
legalize+jeeves@mail.xmission.com (Richard): May 25 09:39PM

[Please do not mail me a copy of your followup]
 
Wouter van Ooijen <wouter@voti.nl> spake the secret code
 
>Let him check http://www.voti.nl/blog/?page_id=144 and see if I have
>missed anything important on the C++/small-embedded field. He might
>especially like the Kvasir approach.
 
Some interesting stuff there. I was hoping for more from the Dan Saks
presentation, he doesn't get into the embedded stuff until slide 78!
After that it was all good stuff!
--
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
The Computer Graphics Museum <http://computergraphicsmuseum.org>
The Terminals Wiki <http://terminals.classiccmp.org>
Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>
David Brown <david.brown@hesbynett.no>: May 26 12:29AM +0200

On 25/05/16 22:58, Richard wrote:
> compared to linux file systems. With Windows 8, the filesystem
> performance improved and coworkers reported decreased build times,
> without changing anything other than the filesystem for the build.
 
This is getting a little off-topic, but the filesystem performance on
Windows is only one aspect (though it can be a significant part of the
problem). Linux (and other *nix) is far more efficient at creating
processes than Windows (Windows is quite efficient at handling thread
creation, but not process creation). If you are using "make" and "gcc",
you run a number of processes for every single file you compile. On
Linux, that's no problem and it runs quickly - but on Windows, it can be
a large overhead if your project has lots of files. Windows-only
compilers like MSVC tend to be more monolithic, and perhaps do all the
compilations without restarting the main process. Finally, Linux is
better at scheduling tasks in an SMP system, making better use of all
your cores when compiling. (Win8 has, I believe, improved here.)
"Heinz-Mario Frühbeis" <Div@Earlybite.individcore.de>: May 25 08:09PM +0200

Hi,
 
here I have a template class with a vector:
 
template < class t_MapMember >
class c_IDAMap{
private:
typedef std::pair < std::string, t_MapMember > tPair;
typedef std::vector < tPair > tVec;
// ...
}
 
I'm using it e.g.:
class c_Member{
// ...
}
c_IDAMap <c_Member*> mMap; // with pointer
 
I also could use it like this:
c_IDAMap <c_Member> mMap; // w/o pointer
 
How can I get in c_IDAMap an info about the template if it is a pointer
or not?
 
Regards
Heinz-Mario Frühbeis
Ian Collins <ian-news@hotmail.com>: May 26 07:18AM +1200

On 05/26/16 07:07, James Moe wrote:
 
> This asshole has been trolling a number of newsgroups. He is
> impervious to requests to fuck off, however politely requested.
> Your only relief from him is the killfile.
 
Or a news server that considers his posts span :)
 
--
Ian
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: