Why?

I love performance. Features are nice, but if they are not fast, then I consider them unusable. The point of performance is to allow someone to accomplish a task in the minimum amount of time. If you are operating on a multi gigabyte file (ie a file that is larger than the memory you have available), the fastest solution is to have a fast RAIDed harddrive for scratch. If all of your work is large but fits within memory, then the best speed ups probably come from highly optimized code. If you are working on many small files, then a clean UI with quick access to functions that you want to perform is where you will find wins.

What can I do? Well, I can offer advice for the first case, but it is a pretty well defined space already. For the third case, features that combine operations or ease accessibly, I’m not much of a feature man. But, for the second case, I can do something about this.

What do I want? I want to help people. I want their experience with Photoshop to be the best that I can make it. If there is a performance issue in Photoshop, it bothers me. If I find someone on the team has introduced a slowdown, I can darken their door until it is fixed. If there is a key algorithm than can be optimized for a specific processor, I can write that assembly code. This is my area, and I will do what I can to make sure that users of Photoshop are having the fastest experience that we can give.

Sure, it is a large project, lots of code written well before I even heard of Adobe, but I want to make it better. Quality first. This is where this blog comes in for you and me. I want to find out what I can do and let people know that someone is focused on this area. And I never sleep. Okay, up until that sleep part, I’m serious, I will do what I can, as will the rest of the team.

9 Responses to Why?

  1. Chris Cox says:

    Hey Edward – nice to see you get your blog started.

  2. Cheeseball says:

    Hear, hear! I completely agree with you on your stand on performance. However, this question still boggles the heck out of me…How come the performance of Photoshop has been reduced over the years? O_oPhotoshop 7.01 on my 2.4GHz Pentium 4 with 1GB non-Value DDR RAM opens up SUPER fast.Photoshop CS opens up a bit slower, possibly by around 1 or 2 seconds.Photoshop CS2 is the kicker. It’s around 6 or 7 seconds slower than 7.01.I know each version has more than a handful of new features, but that shouldn’t be able to deter it’s overall startup and processing performance.Just my 2 cents. 🙂

  3. Charles Lai says:

    A major update many people are looking for is the Universal version of Photoshop for the new Intel Macs. I have several questions for you regarding that update.1. If you optimize code for a specific processor such as the dual core Intel chips, how easy is it to use that code between OS X and Windows?2. With dual core and now quad core chips in the works, in which operations will we see the most performance gain when these chips are used?3. Are there different code optimizations you need to make for Intel vs AMD chips?4. What are the resources being devoted to PowerPC vs Intel chip programming for the next OS X version of Photoshop?

  4. Charles Lai says:

    A major update many people are looking for is the Universal version of Photoshop for the new Intel Macs. I have several questions for you regarding that update.1. If you optimize code for a specific processor such as the dual core Intel chips, how easy is it to use that code between OS X and Windows?2. With dual core and now quad core chips in the works, in which operations will we see the most performance gain when these chips are used?3. Are there different code optimizations you need to make for Intel vs AMD chips?4. What are the resources being devoted to PowerPC vs Intel chip programming for the next OS X version of Photoshop?

  5. John Nack says:

    No, seriously, who said you could sleep? 😉

  6. Mike Perry says:

    And does the fact that both Macs and PCs now run on Intel chips mean that Adobe is more likely to add highly optimized assembly code, written by yourself, to both product lines? That’s something we as users would love to see.And why not suggest to the Powers That Be at Adobe that they break with their tradition (and no one elses) and ‘one up’ Quark 7.0 by offering CS 2.1 (and all the individual applications) with a few of the most-demanded user enhancements. Make it free for CS 2 owners and they will love you. It won’t hurt CS 3.0 sales next year and should increase the number of those deserting Quark for InDesign in spite of the release of Quark 7.0.With Quark waking up, Adobe is going to have to get more energetic and move away two-year upgrade cycles.

  7. Edward Kandrot says:

    When I look into issues like startup time, I always ask myself “Given a machine that executes at least 1 billion instructions per second, should it take 7 billion instructions to do this?” (if it took 7 seconds). If I answer No, then I, or someone on my team, investigates. I feel this way about all products in the market place, and find it very frustrating as a user as well. I try to bring that focus of “I do not want my time wasted by slow code” to my work here at Adobe.The chip on which the code is running is where low level coding is focused. Code at the lowest level – inner loops – does not make OS calls, so they should be the same regardless of the OS. Each chip line from each manufacturer has its own performance characteristics, and that is something the code takes into account when executing.With multicore chips coming out, probably soon to be the standard chip in the industry, there are other considerations – memory bandwidth for example. It is currently possible even with a single core to have code that is small and tight and therefore saturate the memory transfer rate. In these cases, adding a faster chip, or more processors, will do nothing to speed up that algorithm. The list of these are very small, so adding more cores to your machine will make Photoshop run faster overall. The motto I like is “Try to use the users hardware to its maximum abilities.”While I can not answer specific questions about Adobe’s strategies, products in development, etc, someone told me that there is a forum at http://www.adobe.com/support/forums/ where some of these things can be discussed. I have not personally been there, but others around me go on a frequent basis.

  8. Larry Ligon says:

    Why does Photoshop take so long to work with text. I’m working on JavaScripts to automate Photoshop. Take a look at this thread: http://www.ps-scripts.com/bb/viewtopic.php?t=34Do you know why it takes so long?

  9. Bob Hickman says:

    Would you get specific on the best PCI-E video card for us building new systems? I have no interest in 3-d gaming. I do not mind spending the money, but I do not want to over buy on a video card.Thanks