A Photography forum. PhotoBanter.com

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » PhotoBanter.com forum » Digital Photography » Digital Photography
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

Two questions



 
 
Thread Tools Display Modes
  #21  
Old September 16th 15, 04:21 PM posted to rec.photo.digital
nospam
external usenet poster
 
Posts: 24,165
Default Two questions

In article , Mayayana
wrote:

| second of all, you haven't any clue about multithreading. zero.

Multi-threading is not the issue.


yes it is.

https://en.wikipedia.org/wiki/Multit...%28software%29

A single core CPU has multithreading via
time slices. The advantage of multi-core is
that a single, intensive operation can have
a dedicated core, without locking up the
machine and without needing to share time
slices.


or a single intensive operation can be parallelized across multiple
cores.

The issue is whether PS can actually
use multiple cores in any significant way.


it can, and does.

For
that it needs to be running two or more processor
-intensive operations concurrently. Do you often
run a sharpening routine on a 40 MB image while
at the same time running another filter? If not
then the sharpening will run faster with less cores
because the core being used will have a higher
MHz speed.


you still don't get it.

one filter can be multithreaded, running in parallel on multiple cores.

you don't need to run two filters in parallel, nor do cores speed up or
slow down if one or more is idle.

No one needs to go by what I'm saying.


nobody should, since you have *no* clue.

In
Windows one can run Task Manager to see usage
in real time. There may be something similar on
Macs. So rather than carpet-bombing the thread
with empty, un-qualified pronouncements and
insults, why not do some experimenting for
yourself? You can then decide what's best for
you. Maybe you'll find that PS is somehow running
your sharpening routine on 2 cores, but that's *very*
unlikely.


wrong.

not only is it likely, but photoshop is designed to do exactly that:
http://media.bestofmicro.com/F/L/251985/original/res_app_photoshop.png

and it's not just photoshop that benefits. many things are faster on
multicore, including handbrake video conversion:
http://media.bestofmicro.com/F/G/251980/original/res_app_handbrake.png

The routine is a single operation that needs
to go through the image bytes with a math operation.
There just aren't two things to do at once.


wrong.

if the operation can be parallelized, then it will usually benefit from
multiple cores unless it's bottlenecked with i/o, such as a slow hard
drive.


Much of the time there's very little CPU
usage on a typical machine. If I do something like
run a CPU-demanding script then I'll see 48-50%
usage by that process, because I'm using a 2-core
machine. Meanwhile, nothing much else is registering.
If I had four cores the script would run at about
half the speed, because it can't be run across 2
threads.


nonsense.

For that the script would have to be
running multiple, separate operations. Likewise
with PS. A sharpening routine is a single operation.
You can't spread it across 2 threads or processes.


wrong.

If you print and go online and have AV scanning
while you're doing the sharpening routine then the
4 cores might be better than 2. But what I'm getting
at is that much of the time, for most people, only
one CPU-demanding operation at a time is happening.


wrong.

An analogy.... Not a great one, but the best I
can think of right now:

Imagine having a set of measuring cups. If you
have 3 people adding 6 ingredients to a bowl, in
small amounts, they can do it fastest with 6 cups.
If they need to each add, say, 1/4 cup sugar and
1 cup flour to bowls on an assembly line, having
6 8-oz measuring cups will be optimal. But if there's
one person, adding 4 cups flour and 2 cups water,
then 2 32-oz measuring cups will be optimal. (A 32
and a 16 would be best, but I'm trying to keep
this analogous to CPU cores.)

If that one person has 6 8-0z cups then 4 will just
go unused while 2 do the job more slowly. An 8-oz
cup has to be refilled 4 times with each operation.


that's a horrible and convoluted analogy.

a simple and far better analogy is if you have a stack of pages and you
need to stamp each one with the date it's received.

you can either stamp all pages yourself (single-core) or you can spread
the work among a bunch of people, each having to stamp a portion of the
pages, all working alongside each other (multi-core).

there's a small overhead in splitting the stack into several smaller
stacks, distributing those stacks to each person and then reassembling
them at the end, which needs to be balanced with how much faster the
overall process would take.

for a small stack of 10 pages, it is not worth the trouble to split it
among 10 people, but splitting it among 2 people might work well.

for a large stack of 1000 pages, splitting it among 10 people will
definitely help, as the overhead is minimal compared to the actual
task.

Since CPU speeds seem to have plateaued in the
3-4 GHz range, there's a limit to the possible speed
of one core. So the question becomes: Do you have
3 people to use your 6 cups? (Do you actually have
frequent, concurrent operations to justify more cores?)
If not then you'll fill your bowls fastest with less cores.


certain tasks may not benefit from additional cores, but having more
cores on a chip does not make things go slower.
  #22  
Old September 16th 15, 04:54 PM posted to rec.photo.digital
Floyd L. Davidson
external usenet poster
 
Posts: 5,138
Default Two questions

"Mayayana" wrote:
| second of all, you haven't any clue about multithreading. zero.

Multi-threading is not the issue.

https://en.wikipedia.org/wiki/Multit...%28software%29

A single core CPU has multithreading via
time slices. The advantage of multi-core is
that a single, intensive operation can have
a dedicated core, without locking up the
machine and without needing to share time
slices.


That is very clearly correct. Multi-threading, unlike a
multi-core system, shares CPU GHz between all processes.
There is no speed up at all. Multi-threading a single
core actually slows down any single threaded process
running.

The issue is whether PS can actually
use multiple cores in any significant way. For
that it needs to be running two or more processor
-intensive operations concurrently. Do you often
run a sharpening routine on a 40 MB image while
at the same time running another filter? If not
then the sharpening will run faster with less cores
because the core being used will have a higher
MHz speed.


That isn't quite right. The sharpening routine can
easily be coded to run on multiple cores simultaneously.
Sharpening can be divided up over different geographic
areas of the image, each core doing just one section,
and all cores working at once.

That is just one way, and certainly there are others.

No one needs to go by what I'm saying. In
Windows one can run Task Manager to see usage
in real time. There may be something similar on
Macs. So rather than carpet-bombing the thread
with empty, un-qualified pronouncements and
insults, why not do some experimenting for
yourself? You can then decide what's best for
you. Maybe you'll find that PS is somehow running
your sharpening routine on 2 cores, but that's *very*
unlikely.


I would expect it to use multiple cores. I don't use
Windows or a Mac, but I have system monitoring software
that graphically shows the load on each core. Typically
a sharpen operation on a large image takes long enough
to easily see what actually does happen. On a 8 core
system about 90 percent of the time is spend with 1
single core showing 100% usage all of the time, and from
2 to 3 other cores being hit repeatedly for short
intervals. In the last few seconds, which I assume is
when it puts all of the segments back into the image
buffer, all 8 cores get hit together for an extended
period. Extended is longer than the short hits earlier
in the process, but it doesn't actually last very long
and the entire process is finished.

Another program uses one single core for the entire
process.

The routine is a single operation that needs
to go through the image bytes with a math operation.
There just aren't two things to do at once.


But there can be. Different parts of the image can be
done separately, as just one example.

Much of the time there's very little CPU
usage on a typical machine. If I do something like
run a CPU-demanding script then I'll see 48-50%
usage by that process, because I'm using a 2-core
machine. Meanwhile, nothing much else is registering.
If I had four cores the script would run at about
half the speed, because it can't be run across 2
threads. For that the script would have to be
running multiple, separate operations. Likewise
with PS. A sharpening routine is a single operation.
You can't spread it across 2 threads or processes.


If you had four cores it would not run at half the
speed. Same two cores, same speed. Just that the other
two cores would be idle.

I use UFRAW as a RAW converter. It can be compiled to
take advantage of multi-threading. On a multi-core
system that means it runs significantly faster. But for
my purposes I compile it without the multi-threading
because I virtually always run it via a shell script
that launches multiple processes, one per CPU core, and
has measured efficiency that is greater than
multi-threading a single process.

The difference is that if I compiled with
multi-threading and ran UFRAW process sequentially it
does not process a large batch of files as fast as when
compiled for single threading but is invoked with 8
process in parallel.

If you print and go online and have AV scanning
while you're doing the sharpening routine then the
4 cores might be better than 2. But what I'm getting
at is that much of the time, for most people, only
one CPU-demanding operation at a time is happening.


Image editing is generally a case where the more cores
the faster many, but not all, individual edit commands
will be executed.

--
Floyd L. Davidson http://www.apaflo.com/
Ukpeagvik (Barrow, Alaska)
  #23  
Old September 16th 15, 06:00 PM posted to rec.photo.digital
nospam
external usenet poster
 
Posts: 24,165
Default Two questions

In article , Pablo
wrote:

the mouse doesn't use cpu.


Oh, where does the interrupt handler run?


interrupt handler? it ain't the 1980s anymore.

cursors have been done in hardware for *years*.
  #24  
Old September 16th 15, 06:43 PM posted to rec.photo.digital
Savageduck[_3_]
external usenet poster
 
Posts: 16,487
Default Two questions

On 2015-09-16 17:40:23 +0000, Pablo said:

nospam wrote:

In article , Pablo
wrote:

the mouse doesn't use cpu.

Oh, where does the interrupt handler run?


interrupt handler? it ain't the 1980s anymore.

cursors have been done in hardware for *years*.


We used to call them sprites.


I haven't heard the term "sprites" since the days of the Commodore 64.

Processor still has to respond to mouse actions. Interrupts still exist,
young'un ;-)



--
Regards,

Savageduck

  #25  
Old September 16th 15, 06:49 PM posted to rec.photo.digital
nospam
external usenet poster
 
Posts: 24,165
Default Two questions

In article , Pablo
wrote:

the mouse doesn't use cpu.

Oh, where does the interrupt handler run?


interrupt handler? it ain't the 1980s anymore.

cursors have been done in hardware for *years*.


We used to call them sprites.


this isn't sprites.

Processor still has to respond to mouse actions. Interrupts still exist,
young'un ;-)


it needs to respond to clicks but not display and moving it.
  #26  
Old September 16th 15, 06:49 PM posted to rec.photo.digital
nospam
external usenet poster
 
Posts: 24,165
Default Two questions

In article 2015091610433355577-savageduck1@REMOVESPAMmecom,
Savageduck wrote:

the mouse doesn't use cpu.

Oh, where does the interrupt handler run?

interrupt handler? it ain't the 1980s anymore.

cursors have been done in hardware for *years*.


We used to call them sprites.


I haven't heard the term "sprites" since the days of the Commodore 64.


his info is severely dated.
  #27  
Old September 16th 15, 09:23 PM posted to rec.photo.digital
PeterN[_6_]
external usenet poster
 
Posts: 4,254
Default Two questions

On 9/15/2015 9:26 PM, Mayayana wrote:
Multiple cores can only be used for multiple
threads/processes. If you want to print while
using PS then a second core is nice. You may
also be able to do two things at once in PS.
But even that seems a stretch. If you do something
like apply a filter to a very large image, that's a
single operation. It can only run on one core. And
what else are youy going to do concurrently?

I imagine that's what Chris Cox is talking about.
PS can use the cores if you're demanding functionality
from multiple threads/processes at the same time,
but for one intensive operation, multiple cores will
be slower because each core is slower than the total.

On XP I use 2-core because I don't think XP
can optimally use more. Win7+ is probably
better, but optimization still means having uses for
those cores. Since I'm rarely doing more than two
things at once, I'd rather have two operations
running at 1800 MHz than have 4 cores running
at 900 MHz each, but with only one or two used.

If you're running clean, it's unlikely you'll see
much benefit from more cores, and Intel vs
AMD shouldn't matter. (Though specific CPU
models get different ratings.) In other words,
if you have PS applying a sharpen to a giant
image, maybe it takes 30 seconds, but what
else are you going to have PS do at the same
time that could increase efficiency? Not much.

The only scenario that makes sense to me for
more cores would be a system weighted down
with AV, malware hunters, excessive services,
etc. If you have 4 cores you might be able to
use them all with so much crap running, where
two cores might be forced to allocate time slices
to multiple processes, thus being slightly less
efficient. But aside from servers, it's hard for me
to see the benefit of a large number of cores.
It just means that each core is running slower.

You can research this yourself. Run Task Manager
and then use PS as usual. You'll probably find that
a demanding operation is using 50%, 25%, etc of
the CPU, depending on how many cores you have.
(2 cores -- max intesity is 50% of CPU. 4 cores --
max intensity is 25% of CPU. Etc.)
Is another process or another PS operation maxing
out another core? If your cores are not being used
then the increase in cores is just slowing down your
machine.



Thanks, sounds like good information. Since I am doing pre-purchase
research, I will not be doing the experiments. I am thinking quad core
with about a 3.5 - 3.8 CPU. I know there are faster, but I am not yet
convinced that the additional price is worth the extra cost.

--
PeterN
  #28  
Old September 16th 15, 09:30 PM posted to rec.photo.digital
Mayayana
external usenet poster
 
Posts: 1,514
Default Two questions

| I would expect it to use multiple cores. I don't use
| Windows or a Mac, but I have system monitoring software
| that graphically shows the load on each core. Typically
| a sharpen operation on a large image takes long enough
| to easily see what actually does happen. On a 8 core
| system about 90 percent of the time is spend with 1
| single core showing 100% usage all of the time, and from
| 2 to 3 other cores being hit repeatedly for short
| intervals. In the last few seconds, which I assume is
| when it puts all of the segments back into the image
| buffer, all 8 cores get hit together for an extended
| period. Extended is longer than the short hits earlier
| in the process, but it doesn't actually last very long
| and the entire process is finished.
|
| Another program uses one single core for the entire
| process.
|

That's an interesting description. So there seems to
be some optimzing of cores, but in a limited way. I
can't imagine it could be much more efficient than that.
Maybe it's true that an image could be broken up for
sharpening, but that would be awkward, and doesn't
seem to be what's happening in what you describe.

| If you had four cores it would not run at half the
| speed. Same two cores, same speed. Just that
| the other
| two cores would be idle.

What I mean is that if you have a 4 GHz CPU with
4 cores then it's 1 GHz per core. With 2 cores it's
2 GHz per core. So it will actually be slower to do
a single-core operation on the 4 core than on the
2 core.


  #29  
Old September 16th 15, 09:37 PM posted to rec.photo.digital
Mayayana
external usenet poster
 
Posts: 1,514
Default Two questions

| the part you don't get is that a filter operation can be parallelized
| and spread across multiple cores.

Like I said, try it for yourself. Why argue with me
when you can monitor your own system? Floyd
posted an interesting description that I expect
is probably typical: Limited multi-core utilization,
in some cases.


  #30  
Old September 16th 15, 09:43 PM posted to rec.photo.digital
Mayayana
external usenet poster
 
Posts: 1,514
Default Two questions

| it needs to respond to clicks but not display and moving it.

In Windows I can call the system to find the mouse
position at any moment. The system is tracking
it. If you move the mouse the system also has
to repeatedly calculate to repaint the screen. That's
what the OS does.

If it didn't do that you wouldn't see the cursor
move. Maybe you can't see any mouse movement
on your Mac? In that case you might be right. Or
your Mac might be dead.

All of this is pointless sidetrack. If you actually
read what I wrote you could possibly see that
mouse movement was just an example.


 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
After the Deletion of Google Answers U Got Questions Fills the Gap Answering and Asking the Tough Questions Linux Flash Drives Digital Photography 0 May 7th 07 06:38 PM
Questions on Canon 300D and etc. questions regarding digital photography David J Taylor Digital Photography 10 March 24th 05 06:18 PM
Questions on Canon 300D and etc. questions regarding digital photography Progressiveabsolution Digital Photography 4 March 24th 05 05:11 PM
Questions on Canon 300D and etc. questions regarding digitalphotography Matt Ion Digital Photography 3 March 24th 05 03:57 PM
First SLR questions Rick Digital Photography 26 August 8th 04 12:19 AM


All times are GMT +1. The time now is 06:44 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 PhotoBanter.com.
The comments are property of their posters.