Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. What do you do while building?

What do you do while building?

Scheduled Pinned Locked Moved The Lounge
question
56 Posts 31 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J John M Drescher

    Stuart Dootson wrote:

    New hardware's rarely been an option @ work for me

    I am lucky, since part of my job role is to recommend new hardware purchases. If they are under $1000 I am usually approved without any problems..

    Stuart Dootson wrote:

    instead, it's a case of rearranging code and/or distribution of code between files to minimise the impact of changes.

    On the latest project I actually did both methods. One such time saver was reducing the number of #include statements in headers. In this I made a lot of use of the PIMPL idiom. http://www.gamedev.net/reference/articles/article1794.asp[^]

    John

    S Offline
    S Offline
    Stuart Dootson
    wrote on last edited by
    #21

    John M. Drescher wrote:

    In this I made a lot of use of the PIMPL idiom

    Yep, that one's saved me a LOT of (build-)time over the years!

    Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

    1 Reply Last reply
    0
    • B bertvan

      I'm working on a project with a long build duration. How do you normally kill time when you return with your coffee and the build is still busy?

      G Offline
      G Offline
      Gary Wheeler
      wrote on last edited by
      #22

      Work on one of my other number-one top priorities :rolleyes:. We have a dedicated build machine, so there's no excuse for not working on something else.

      Software Zen: delete this;

      1 Reply Last reply
      0
      • S Stuart Dootson

        John M. Drescher wrote:

        5 to 15 minutes

        New hardware's rarely been an option @ work for me - instead, it's a case of rearranging code and/or distribution of code between files to minimise the impact of changes.

        Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

        G Offline
        G Offline
        Gary Wheeler
        wrote on last edited by
        #23

        Stuart Dootson wrote:

        it's a case of rearranging code and/or distribution of code between files to minimise the impact of changes

        That's a horrendous use of your time, IMO.

        Software Zen: delete this;

        S J 2 Replies Last reply
        0
        • B bertvan

          I'm working on a project with a long build duration. How do you normally kill time when you return with your coffee and the build is still busy?

          R Offline
          R Offline
          Rajesh R Subramanian
          wrote on last edited by
          #24

          I usually get onto the C++ forum of CP.

          It is a crappy thing, but it's life -^ Carlo Pallini

          1 Reply Last reply
          0
          • G Gary Wheeler

            Stuart Dootson wrote:

            it's a case of rearranging code and/or distribution of code between files to minimise the impact of changes

            That's a horrendous use of your time, IMO.

            Software Zen: delete this;

            S Offline
            S Offline
            Stuart Dootson
            wrote on last edited by
            #25

            It's not needed too often in my code, 'cause most of the time I've thought about it before I started. Other people's code, however... And anyway, if I spend the time waiting for builds doing this, then I've kind of not really wasted any time at all.

            Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

            G 1 Reply Last reply
            0
            • S Stuart Dootson

              It's not needed too often in my code, 'cause most of the time I've thought about it before I started. Other people's code, however... And anyway, if I spend the time waiting for builds doing this, then I've kind of not really wasted any time at all.

              Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

              G Offline
              G Offline
              Gary Wheeler
              wrote on last edited by
              #26

              There have been times in the past where I spent a lot of time 'rearranging' code due to factors like compiler limitations and other considerations. The payoff never seemed to match the effort expended.

              Software Zen: delete this;

              1 Reply Last reply
              0
              • P PIEBALDconsult

                I'd rather grab a co-workwer and talk to a coffee.

                H Offline
                H Offline
                Henry Minute
                wrote on last edited by
                #27

                One place I contracted at, one of the draughtsmen told me that

                "Friday afternoons are all meat pies and grope."

                I never did find out what he meant but it sounds like your sort of place. :)

                Henry Minute Do not read medical books! You could die of a misprint. - Mark Twain Girl: (staring) "Why do you need an icy cucumber?" “I want to report a fraud. The government is lying to us all.”

                1 Reply Last reply
                0
                • G Gary Wheeler

                  Stuart Dootson wrote:

                  it's a case of rearranging code and/or distribution of code between files to minimise the impact of changes

                  That's a horrendous use of your time, IMO.

                  Software Zen: delete this;

                  J Offline
                  J Offline
                  John M Drescher
                  wrote on last edited by
                  #28

                  For me the reasons for optimizing the hardware, the OS and build process was a result of the following issue: When you change a single line of code in a header file and it takes 30 minutes to produce an new executable its clear that I was not making efficient usage of my time.. Now entire builds happen in less than 10 minutes.

                  John

                  1 Reply Last reply
                  0
                  • B bertvan

                    I'm working on a project with a long build duration. How do you normally kill time when you return with your coffee and the build is still busy?

                    B Offline
                    B Offline
                    bob16972
                    wrote on last edited by
                    #29

                    I had that problem once with an MFC project that had a mere 110,000 lines of code and then bought a new PC with 4GB of RAM and the slow builds went away. Albeit, not the best solution but it worked. :)

                    J 1 Reply Last reply
                    0
                    • B bob16972

                      I had that problem once with an MFC project that had a mere 110,000 lines of code and then bought a new PC with 4GB of RAM and the slow builds went away. Albeit, not the best solution but it worked. :)

                      J Offline
                      J Offline
                      John M Drescher
                      wrote on last edited by
                      #30

                      For my current project, I already had 4GB of RAM but still 30 minute+ builds. The biggest problem is the hard drive would not keep up with my dual core processor so the cores were being utilized less than 25% during parts of the build. After several optimizations (build process, code, hardware, OS) all is well (cores are being utilized 100%) and it usually takes less than 10 minutes for an entire rebuild.

                      John

                      D 1 Reply Last reply
                      0
                      • J John M Drescher

                        For my current project, I already had 4GB of RAM but still 30 minute+ builds. The biggest problem is the hard drive would not keep up with my dual core processor so the cores were being utilized less than 25% during parts of the build. After several optimizations (build process, code, hardware, OS) all is well (cores are being utilized 100%) and it usually takes less than 10 minutes for an entire rebuild.

                        John

                        D Offline
                        D Offline
                        Dan Neely
                        wrote on last edited by
                        #31

                        ouch. Dunno how long you spent tweaking it, but if you were that IO limited a ramdisk to hold temp files probably would've been a really fast payoff.

                        The European Way of War: Blow your own continent up. The American Way of War: Go over and help them.

                        J 2 Replies Last reply
                        0
                        • D Dan Neely

                          ouch. Dunno how long you spent tweaking it, but if you were that IO limited a ramdisk to hold temp files probably would've been a really fast payoff.

                          The European Way of War: Blow your own continent up. The American Way of War: Go over and help them.

                          J Offline
                          J Offline
                          John M Drescher
                          wrote on last edited by
                          #32

                          Before I got the velociraptor, I thought of that and also a SSD. The biggest problem was what to put on the ram disk. The source would fit easily on a RAM disk but if I would put the build trees for the entire project including its library dependencies (with full source) this takes over 20GB when all 3 builds are generated (debug, release, relwithdebuginfo).

                          John

                          D 1 Reply Last reply
                          0
                          • D Dan Neely

                            ouch. Dunno how long you spent tweaking it, but if you were that IO limited a ramdisk to hold temp files probably would've been a really fast payoff.

                            The European Way of War: Blow your own continent up. The American Way of War: Go over and help them.

                            J Offline
                            J Offline
                            John M Drescher
                            wrote on last edited by
                            #33

                            dan neely wrote:

                            Dunno how long you spent tweaking it

                            A few days for the OS and hard drive change. One problem was I was behind a deadline so I did not have time to optimize. After I delivered a working application (not fully complete) I was able to fix the build issues. One part of this was moving from XP to XP64. I did that when I added the velociraptor. I also doubled the ram to 8GB. The other tweaks to the build process happened before the hard drive / OS update.

                            John

                            1 Reply Last reply
                            0
                            • J John M Drescher

                              Before I got the velociraptor, I thought of that and also a SSD. The biggest problem was what to put on the ram disk. The source would fit easily on a RAM disk but if I would put the build trees for the entire project including its library dependencies (with full source) this takes over 20GB when all 3 builds are generated (debug, release, relwithdebuginfo).

                              John

                              D Offline
                              D Offline
                              Dan Neely
                              wrote on last edited by
                              #34

                              John M. Drescher wrote:

                              if I would put the build trees for the entire project including its library dependencies (with full source) this takes over 20GB when all 3 builds are generated (debug, release, relwithdebuginfo).

                              :omg: :omg: How big is your app?! One of mine (~20k LOC in C#) takes <40MB of diskspace for source/debug/release files combined. EXEs+DLLs total under meg for either build. With 12/16gb of ram I'd see if I could configure it to only load the source and build being compiled at the time. With only 8GB I'm not sure it's be feasible unless a lot of the temp files could safely be disposed in mid build (and you could use an event to do so).

                              The European Way of War: Blow your own continent up. The American Way of War: Go over and help them.

                              J 1 Reply Last reply
                              0
                              • D Dan Neely

                                John M. Drescher wrote:

                                if I would put the build trees for the entire project including its library dependencies (with full source) this takes over 20GB when all 3 builds are generated (debug, release, relwithdebuginfo).

                                :omg: :omg: How big is your app?! One of mine (~20k LOC in C#) takes <40MB of diskspace for source/debug/release files combined. EXEs+DLLs total under meg for either build. With 12/16gb of ram I'd see if I could configure it to only load the source and build being compiled at the time. With only 8GB I'm not sure it's be feasible unless a lot of the temp files could safely be disposed in mid build (and you could use an event to do so).

                                The European Way of War: Blow your own continent up. The American Way of War: Go over and help them.

                                J Offline
                                J Offline
                                John M Drescher
                                wrote on last edited by
                                #35

                                dan neely wrote:

                                How big is your app?! One of mine (~20k LOC in C#) takes <40MB of diskspace for source/debug/release files combined. EXEs+DLLs total under meg for either build.

                                The main application (with 16 projects) and one external supporting library that I have written are about 75K lines of Qt code together. The rest are 4 libraries that were developed in-house by other members of my team. These are 5 to 20 K lines each. And finally there are 3 large open source libraries (Qt + ITK + VTK) that are under constant development. Each of these 3 libraries are over 500K lines of code. So a rough estimate of the code is 1.8 million lines. I do not rebuild the 3 libraries often so this is not part of the time to build however I may have to build the 5 external libraries daily.

                                John

                                D 1 Reply Last reply
                                0
                                • J Jacquers

                                  Thanks! (For some reason the hamsters didn't do their usual magic when I pasted the link)

                                  M Offline
                                  M Offline
                                  Mustafa Ismail Mustafa
                                  wrote on last edited by
                                  #36

                                  I have to thank you for Vector-TD. I'm stuck at level 46, that thing can't be beat past that!

                                  If the post was helpful, please vote, eh! Current activities: Book: Devils by Fyodor Dostoyevsky Project: Hospital Automation, final stage Learning: Image analysis, LINQ Now and forever, defiant to the end. What is Multiple Sclerosis[^]?

                                  J 1 Reply Last reply
                                  0
                                  • J John M Drescher

                                    dan neely wrote:

                                    How big is your app?! One of mine (~20k LOC in C#) takes <40MB of diskspace for source/debug/release files combined. EXEs+DLLs total under meg for either build.

                                    The main application (with 16 projects) and one external supporting library that I have written are about 75K lines of Qt code together. The rest are 4 libraries that were developed in-house by other members of my team. These are 5 to 20 K lines each. And finally there are 3 large open source libraries (Qt + ITK + VTK) that are under constant development. Each of these 3 libraries are over 500K lines of code. So a rough estimate of the code is 1.8 million lines. I do not rebuild the 3 libraries often so this is not part of the time to build however I may have to build the 5 external libraries daily.

                                    John

                                    D Offline
                                    D Offline
                                    Dan Neely
                                    wrote on last edited by
                                    #37

                                    John M. Drescher wrote:

                                    5 external libraries daily.

                                    Is this a typo, or did you neglect to mention something? Your build time/sizes are still huge compared to anything I've done in C#. Do you know if it's just nonlinear scaling or something C++ish to blame. For diskspace it's a ~5x factor (2MB/kloc vs 11MB/kloc); For build times unless there're compiler errors mine builds in 7-40sec for a full rebuild (dunno why the variability; but it seems to go away if I collapse the number of projects down significantly) for a 2-18x difference (30-170kloc/minute vs 9.5-15.5kloc/minute (excluding the 3 big libaries)).

                                    The European Way of War: Blow your own continent up. The American Way of War: Go over and help them.

                                    J A 3 Replies Last reply
                                    0
                                    • D Dan Neely

                                      John M. Drescher wrote:

                                      5 external libraries daily.

                                      Is this a typo, or did you neglect to mention something? Your build time/sizes are still huge compared to anything I've done in C#. Do you know if it's just nonlinear scaling or something C++ish to blame. For diskspace it's a ~5x factor (2MB/kloc vs 11MB/kloc); For build times unless there're compiler errors mine builds in 7-40sec for a full rebuild (dunno why the variability; but it seems to go away if I collapse the number of projects down significantly) for a 2-18x difference (30-170kloc/minute vs 9.5-15.5kloc/minute (excluding the 3 big libaries)).

                                      The European Way of War: Blow your own continent up. The American Way of War: Go over and help them.

                                      J Offline
                                      J Offline
                                      John M Drescher
                                      wrote on last edited by
                                      #38

                                      dan neely wrote:

                                      Is this a typo, or did you neglect to mention something?

                                      More like a bad choice of words. I mean that 5 libraries developed in-house (4 of these from others and my library) are separate workspaces from the workspace that builds the main application.

                                      dan neely wrote:

                                      just nonlinear scaling or something C++ish to blame.

                                      templates are part of the blame for compile times. ITK is a template library. So part of the problem is if you need to #include one of the headers for a template in your header file and that template #include also includes a dozen other template headers many files need to be recompiled for a single change in your header file.

                                      John

                                      1 Reply Last reply
                                      0
                                      • D Dan Neely

                                        John M. Drescher wrote:

                                        5 external libraries daily.

                                        Is this a typo, or did you neglect to mention something? Your build time/sizes are still huge compared to anything I've done in C#. Do you know if it's just nonlinear scaling or something C++ish to blame. For diskspace it's a ~5x factor (2MB/kloc vs 11MB/kloc); For build times unless there're compiler errors mine builds in 7-40sec for a full rebuild (dunno why the variability; but it seems to go away if I collapse the number of projects down significantly) for a 2-18x difference (30-170kloc/minute vs 9.5-15.5kloc/minute (excluding the 3 big libaries)).

                                        The European Way of War: Blow your own continent up. The American Way of War: Go over and help them.

                                        J Offline
                                        J Offline
                                        John M Drescher
                                        wrote on last edited by
                                        #39

                                        dan neely wrote:

                                        For diskspace it's a ~5x factor (2MB/kloc vs 11MB/kloc);

                                        I attribute this to .pdb, .pch, ilk ... files and the number of project files. My .pch files are 15 to 25MB each and the main workspace currently has 21 of them. I know the large open source libraries are much worse.

                                        John

                                        1 Reply Last reply
                                        0
                                        • B bertvan

                                          I'm working on a project with a long build duration. How do you normally kill time when you return with your coffee and the build is still busy?

                                          S Offline
                                          S Offline
                                          Steve Mayfield
                                          wrote on last edited by
                                          #40

                                          concentrate on not hitting my thumb with the hammer :laugh:

                                          Steve _________________ I C(++) therefore I am

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups