comp.lang.ada
 help / color / mirror / Atom feed
* How many CPU cores?
@ 2017-10-02 22:07 Victor Porton
  2017-10-13 22:55 ` Kevin K
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Victor Porton @ 2017-10-02 22:07 UTC (permalink / raw)


"make" in GNAT GPS supports "Multiprocessing".

How much processes should I use with my 4 cores i7 processor?

There are two threads per code due hyperthreading. So should I use 4*2=8 
"Multiprocessing" setting to compile quickly?

-- 
Victor Porton - http://portonvictor.org

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How many CPU cores?
  2017-10-02 22:07 How many CPU cores? Victor Porton
@ 2017-10-13 22:55 ` Kevin K
  2017-10-14  5:29 ` Per Sandberg
  2017-10-14 20:55 ` Tarjei Jensen
  2 siblings, 0 replies; 4+ messages in thread
From: Kevin K @ 2017-10-13 22:55 UTC (permalink / raw)


On Monday, October 2, 2017 at 5:07:36 PM UTC-5, Victor Porton wrote:
> "make" in GNAT GPS supports "Multiprocessing".
> 
> How much processes should I use with my 4 cores i7 processor?
> 
> There are two threads per code due hyperthreading. So should I use 4*2=8 
> "Multiprocessing" setting to compile quickly?
> 
> -- 
> Victor Porton - http://portonvictor.org

Assuming sufficient memory, you will probably hit limits on disk access before cpu limits.  So 8 is probably safe.  If not enough disk throughput available, there will still be unused CPU cycles, and adding more threads probably won't help.   It depends too on how large of system you are compiling.  Individual packages are single threaded compiles, so more cores help only if there are more packages that need to be compiled.  And if in a test/modify/build cycle, there probably won't be much advantage except when changing specs.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How many CPU cores?
  2017-10-02 22:07 How many CPU cores? Victor Porton
  2017-10-13 22:55 ` Kevin K
@ 2017-10-14  5:29 ` Per Sandberg
  2017-10-14 20:55 ` Tarjei Jensen
  2 siblings, 0 replies; 4+ messages in thread
From: Per Sandberg @ 2017-10-14  5:29 UTC (permalink / raw)


Using all cores "-j0" usually gives the shortest build-time unless the 
disk is very very slow.
/P

Den 2017-10-03 kl. 00:07, skrev Victor Porton:
> "make" in GNAT GPS supports "Multiprocessing".
> 
> How much processes should I use with my 4 cores i7 processor?
> 
> There are two threads per code due hyperthreading. So should I use 4*2=8
> "Multiprocessing" setting to compile quickly?
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How many CPU cores?
  2017-10-02 22:07 How many CPU cores? Victor Porton
  2017-10-13 22:55 ` Kevin K
  2017-10-14  5:29 ` Per Sandberg
@ 2017-10-14 20:55 ` Tarjei Jensen
  2 siblings, 0 replies; 4+ messages in thread
From: Tarjei Jensen @ 2017-10-14 20:55 UTC (permalink / raw)


If you are on windows, a "disk" might be your limiting factor. Use perfmon to monitor your logical disk drives. Go to Performance Monitor and add Physical disk -> % Idle Time for each available disk device.

It will tell you when Windows runs out of I/O for each disk. That is when % Idle Time for a logical disk is 0.

In Windows, logical disk I/O is a limited resource. You can have several logical disks pointing to the same physical device or use the same physical interface.

So in order to get I/O performance, you need to spread the load.

So having all your source code on the system drive (Usually C:) is a really bad idea.

If you are on something that is Unix-like, there is a number of options to get I/O statistics. Including the old faithful "sar". Determining how the system perfores will include a lot of interpretation of numbers.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-10-14 20:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-02 22:07 How many CPU cores? Victor Porton
2017-10-13 22:55 ` Kevin K
2017-10-14  5:29 ` Per Sandberg
2017-10-14 20:55 ` Tarjei Jensen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox