- including files using macro for name - 3 Updates
- I want to share with you this wonderful music - 4 Updates
- Am I over-using shared_ptr? - 3 Updates
- do you like the 7 rules i use? - 2 Updates
David Brown <david.brown@hesbynett.no>: Oct 23 09:41AM +0200 On 22/10/15 23:10, Lynn McGuire wrote: >> change the decoder version in a single place. > That would work also. But, I've got 20,000 files in my project. File > minimization is a goal of mine. My sandbox is 12 GB and growing. That change would mean you'd have 20,001 files - that's not a big difference. But of course, changing all the files to use the new format could mean a good deal of effort if you use such computed includes a lot. You might find that the result makes dependency management faster, which can lead to significantly faster build times on large projects - but you won't know that unless you try it! |
Lynn McGuire <lmc@winsim.com>: Oct 23 02:28PM -0500 On 10/23/2015 2:41 AM, David Brown wrote: > lot. You might find that the result makes dependency management faster, > which can lead to significantly faster build times on large projects - > but you won't know that unless you try it! The rebuild of my largest exe takes about a minute using MSVS 2005 nowadays. That is about 650K LOC, almost all C++. The biggest improvement that I have ever gotten on building is moving to a SSD drive. I now have a Intel 480 GB SSD. Fastest thing that I have ever seen. Jeff Atwood says that the new PCI Express SSD drives are even much faster than SATA SSD drives. http://blog.codinghorror.com/building-a-pc-part-viii-iterating/ Thanks, Lynn |
David Brown <david.brown@hesbynett.no>: Oct 24 12:25AM +0200 On 23/10/15 21:28, Lynn McGuire wrote: >> but you won't know that unless you try it! > The rebuild of my largest exe takes about a minute using MSVS 2005 > nowadays. That is about 650K LOC, almost all C++. OK, so your 20,000 files are not all for the same build (presumably they are libraries or other exe files in the same project). That's more manageable! > ever seen. Jeff Atwood says that the new PCI Express SSD drives are > even much faster than SATA SSD drives. > http://blog.codinghorror.com/building-a-pc-part-viii-iterating/ It's a pity you are stuck on Windows for MSVC - if you were using Linux, the disk speed would mean almost nothing at all (at least with a little care in setup). Windows is poor at cache management, and will keep re-reading files from disk instead of keeping them in memory, and delays while writing files instead of using write-back cache. A rebuild should not involve any noticeable disk activity - but Windows still is not good at disk handling (rumour has it that Win10 has made some improvements here, but I have no experience with it). The biggest improvement I made on compile speed was moving from Windows to Linux. |
scott@slp53.sl.home (Scott Lurndal): Oct 23 01:01PM >> Uhm, he's not a professor. He's a troll. Probably the same as Mr. Ramine. >He's a potty mouth. That's the only thing I know >for sure. Potty mouth? What are you, ten? Grow up and don't try to impose your soi disant morals on everyone else. |
woodbrian77@gmail.com: Oct 23 11:03AM -0700 On Friday, October 23, 2015 at 8:02:19 AM UTC-5, Scott Lurndal wrote: > >He's a potty mouth. That's the only thing I know > >for sure. > Potty mouth? What are you, ten? I'm a sinner saved by G-d's grace. > Grow up and don't try to impose your soi disant > morals on everyone else. Sorry if my morals offend you. Believers are called to help others find faith in G-d. We apologize for the faith. We are G-d's ambassadors. Brian Ebenezer Enterprises - Psalms 126:6 - Those who go out weeping, carrying seed to sow, will return with songs of joy, carrying sheaves with them. http://webEbenezer.net |
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Oct 23 07:21PM +0100 > Sorry if my morals offend you. Believers are called > to help others find faith in G-d. We apologize for > the faith. We are G-d's ambassadors. Brian you are clueless about your own religion so how can you call yourself an ambassador of God? You say "G-d" because you think you are not allowed to write God's name yet "God" isn't God's name; "God" is actually a title; your God's name (the theonym) is actually YHWH (Jehova). Either way your Bible is a lie, your god doesn't exist and your preaching is not welcome here. /Flibble |
woodbrian77@gmail.com: Oct 23 12:56PM -0700 On Friday, October 23, 2015 at 1:21:57 PM UTC-5, Mr Flibble wrote: > Either way your Bible is a lie, your god doesn't exist and your > preaching is not welcome here. > /Flibble Hi Leigh, I was thinking of you today. I'm afraid I have some bad news for you. There's evidence that sausage and bacon are harmful to people. http://www.telegraph.co.uk/news/health/news/11950018/Bacon-ham-and-sausages-as-big-a-cancer-threat-as-smoking-WHO-to-warn.html I like bacon and sausage, but I haven't eaten them in years. |
legalize+jeeves@mail.xmission.com (Richard): Oct 23 12:04AM [Please do not mail me a copy of your followup] taylor@audulus.com spake the secret code >> the former and don't waste any brain cycles on the latter. >Well, if a user can crash my app because they misused the scripting API, >then that's a bug. That's why I'd like the code to be safe. Agreed. I agree that taking reasonable precautions are worthwhile. I like the idea of template decorations that compile away but reveal your intention around the usage of a raw pointer. Can this pointer be nullptr? Who is the owner of this raw pointer? These are reasonable things to guard against and I like the idea of the support library defining these helpers that cost you nothing at runtime but allow tools to identify mismatched intentions. This is really cool stuff. However, I've been in code reviews where people get themselves all into a contorted knot because they are imaginging programmers that are either evil or are doing things that are frankly stupid. Things like "but if I return a reference to a const object from a function, what if they store the address of the reference?". This is not a reasonable precuation. This is supposing that the other members of your team are either outright idiots or are intentionally writing malicious code. Worrying about this stuff is pointless. There are some "Guru of the Week" questions show ways in which you can intentionally subvert the type system (void *, anyone?) or do even more malicious things like sneaking your way past the published class declaration and subtituting your own so that you can poke into private member variables. This is the sort of stuff that is abnormal, abusive or idiotic. Trying to guard against this is not only unreasonable, it is impossible. Without a virtual machine to play traffic cop, you have access to all the bytes in the program's address space and can do whatever malicious things you want. -- "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> |
woodbrian77@gmail.com: Oct 22 08:36PM -0700 > > <https://www.youtube.com/watch?v=hEx5DNLWGgA> > I appreciate you mentioning that. I've been watching those videos intensely the > past few days :) Any recommendations? I've watched a few of them. Andrei's talk on allocators was interesting. https://duckduckgo.com/?q=andrei+allocators++vector&ia=videos&iai=LIb3L4vKZ7U Brian Ebenezer Enterprises - In G-d we trust. http://webEbenezer.net |
Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Oct 23 04:16PM +0100 >> will be passing by value, reference, pointer, or what kind of pointer, >> but instead decide what you'll be using based on the answers. > Does that help? Hi, You can also use shared_ptr in a non-owning mode which will allow you to have shared_ptrs to both nodes that patches own and nodes with some other ownership (e.g. a node on the stack). I do something similar in my C++ GUI library for widget ownership: http://neogfx.org For more information see the shared_ptr aliasing constructor ((8) in http://en.cppreference.com/w/cpp/memory/shared_ptr/shared_ptr) HTH. /Leigh |
asetofsymbols@gmail.com: Oct 23 12:28AM -0700 1) not have fear in use goto in a function because from goto born all 2) use return address and never exceptions because library has not stop the program 3) in class use some variable that says if each element of the class has the right memory and are ok as they are born and use this at start of function for see if every object of class is ok (after they are born) 4) use some memory allocator that find leak and memory errors 5) for portability use fixed size types as u8 u32 u64 only 6) use some big num class for signed unsigned, fixed float limited only from memory where from float one can say number of digit ok after the point 7) use only class, overload, template and code as C and no other. use ra2 almost always. |
asetofsymbols@gmail.com: Oct 23 12:33AM -0700 I forget 8) for C like code: use function for return error code to the caller for code use class can be useful to have one variable that says that object is or not is the error object. (error object is one object that used for build other object has as result one error object) What do you say? |
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:
Post a Comment