Replacement for Aperture

I am currently uploading (scan) thousands of old 35mm slides to my iMac, after which I am editing MANY of the uploads because of many reasons, e.g., scratches, faded, etc. I am currently using Aperture but know now that Apple will no longer update the software. I have read that the new Mac photos software is only okay and if I want real editing software to look else ware .
I am not a professional photographer but I do enjoy photography. I especially enjoy working with editing software to restore old slides for the next generation of my family.
Can someone give me suggestions to purchasing editing software comparable to Aperture.
I appreciate any leads.

Comparable to Aperture.... the answer is simple..No
You have to take the next best thing, and that is Lightroom 5 or Capture One 8

Similar Messages

  • Using (Parallels) PS as an external editor for Aperture

    I am new to the Mac so perhaps this has already been addressed. If so, I apologize.
    I am using Aperture for my photo editing and have been using PhotoShop CS5, through Parallels, as an external editor. Much to my surprise this works reasonably well most of the time although sometimes I run into a very puzzling situation.
    Typically I use CS5 to take care of lens distortion since Aperture does not have that functionality built-in. I adjust an image and, if it needs perspective adjustment, I call CS5, through Parallels, convert the object into a Smart Object, Transform the object using the Distort functionality, flatten the image and save it to return to Aperture. Most of the time this works just fine. However sometimes I end up with an image that Aperture tells me it cannot open and, when I try to open it with PS again, it also fails. Sometimes the newly adjusted image just never shows up in Aperture and it is as though it dispappered into the ether.
    I have tried Save and I have tried Save As using the same location specified by PS. Save normally works but sometimes fails as described above and Save As always seems to fail. Can anyone tell me what is going on here?
    One more note. When the attempt to adjust the photo in CS5 fails I have tried again and again and it always seems to fail for those images. I have no idea why this should be but repeated attempts fail. I have success about 60% of the time and the rest of the time either I get an image that cannot be opened or an image that just disappers. I am using CS5 under Parallels because Adobe will not give me a license for the Mac version unless I upgrade and I would rather not pay the $200 and I don't want to end up in CC.
    There are really two issues here. First, why is CS5 occasionally failing and, second, is there a good replacement for CS5 that will work with Aperture to do Perspective Adjustments. I have the trial of PTLens but CS5 is much more flexible in how it allows me to distort an image since not all my image distortions from UWA lenses are symetrical and PTLens only handles symetrical distortion.
    Thanks for any help anyone can provide.

    Agreeing with 99jon, and adding that in my opinion, the only logical use of the two programs is to use the Lightroom Library Module (not the PSE Organizer) as the tool for organizing your photos, and the Lightroom Develop module as your primary editor, and the PHotoshop Elements Editor as the supplemental editor for the situation where you need more power editing than Lightroom provides.
    Why? Because Lightroom is designed  so that it can relatively seemlessly send photos to PSE for extra editing and receive the edited photo back from PSE.
    There is no relatively seemless way to have the PSE Organizer send photos to Lightroom and receive the edited photo in return. You will do a lot of extra work to make this work. I am also very skeptical about this statement, I don't think it opens your photos in the Lightroom Develop Module, but I admit I haven't tried it: "I figured out how to configure Elements to call Lightroom to edit a picture directly.  (Edit-> Preferences->Editing)  WIth that setting, I can now use lightroom on my photos."

  • Photos is not an adequate replacement of Aperture

    Have an Aperture library of 26000+ photos totaling 270GB. Most of the photos (without dates) were scanned into Aperture (oldest photo is from 1860). There are all family photos which were filed into decades, years within decades and albums within a year. Dates were estimated. The sequence of the photos within an album were done with the Batch Rename of Aperture. Photos needs to support this function which is excellent in managing the library.
    Secondly  i use Zenfolio to share the photos with family members and friends. Most have non Apple products. iCloud will be fine for a selected few in my case.  You need to accept add ons by third parties as you did for Aperture (Zenfolio has an add on for the export function of Aperture).
    In summary
    1) Photos is not a replacement to Aperture
    2) Sorting capabilities for more than just date
    3) Batch Rename function
    ---> Just add to Photos the Metadata functions of Aperture
    4) Third Party add ons

    As I see it since Apple has decided not to support any photographers that serious about their photos then the only valid solution is to drop all of their photographic applications and start using third party applications instead.
    I completely agree with your that the way iCloud is implemented with Photos is totally backward from the way I want to work with my photos on the web. Their downgrading everything down to the least common dominator is really pathetic.
    So far in my research I have discovered that Capture One Pro 8 appears to be the Aperture 4 that Apple has been promising use for a long time.  When I return from a trip I have planned earlier, I am going to download their demo copy to see how it works.

  • New external drive choices -- what's best for Aperture?

    Hi.  Hardware, I'm sorry to say, generally makes my head hurt.
    Today Apple's delayed Thunderbolt-to-FW800 adapter made it appearance in Apple Stores.
    Purchasers of the new MacBook Pro with Retina Display (rMBP) now have a nearly full set of options for using external drives with Aperture.  I had been using a stable of FW800 drives (with my MBP 5,5).  I'm looking for recommendations on what to upgrade to.
    (Aside: I've been too busy to post a comment recommending the rMPB.  It's my main Aperture machine (I use Aperture every day, but work in two different locations) -- I'm _very_ happy with it.  Highly recommended.  My machine is 16 GB RAM and 500 GB SSD.  But there's still this ports problem ... .)
    The options I know of:
    - use the new adapter and use the old FW drives.  These can be daisy-chained, as before.  Afaik, the total throughput is limited by what TBolt allows (which may be more than enough).
    - move drives to USB3 enclosures.  I did this as a stop-gap measure while waiting for the adapters.  I got my enclosures from OWC.  The drives are not daisy-chainable.  The rMBA has two USB3 ports.
    - buy eSATA hubs and use the eSATA ports on the drives.  This one just became available.  Expensive, imho.  Not sure how the Mac will handle it (I always have Originals referenced to external drives; I sometimes have Libraries on external drives).
    - move drives to TBolt enclosures.  These are slowly coming on the market.  They are very expensive (imho).
    - replace the drives with TBolt drives.  Also very expensive.
    - replace the drives with USB3 drives
    I'm looking for a reasonable middle-term (3-5 years) solution.  Fwiw, I'm not convinced that external drive throughput is even an issue with running Aperture.  It seem to run well on my rMBA even when a large library is connected via USB2.  (I assume Aperture is good at taking advantage of the 16 MB RAM and the SSD "scratch drive".)  I need to have one USB2 port, and one TBolt port, available at all times (various peripherals; the TBolt is for external monitors).
    Thanks!

    Good stuff.  Thanks.  Agree in principle re: "TBolt for displays; USB3 for storage".
    I did get a USB 3 hub.  (Amazon link.  There is a 7-port hub as well.)  Highly recommended (at least for rMBP users).  This works well with how I use Aperture: I have several external drives with mostly Referenced Originals and some Libraries.  Since I rarely use more than one of these at a time, it doesn't matter that the hub throughput is limited to a single USB 3 channel.  The USB 3 hub, for me, functions as a quasi-data-server for Aperture, and takes up only one of the two USB 3 ports on the rMBP.  (Fwiw, with the rMBA I don't think there's much reason for storing Referenced Originals on a fast drive; because of the efficiency of the way Aperture caches, USB 2 may be fast enough.  I haven't measured this yet.)
    I mentioned eSATA only because almost all my external drives came with eSATA ports and cables.  I have never used eSATA.  At this point, I don't plan to.
    I have moved a few drives into USB 3 enclosures (purchased from OWC).  With the USB 3 hub, and the newly-available Apple TBolt-FW800 adapter (which supports daisy-chained FW devices), I am no longer in any practical way limited by the four ports on the rMBP (2x TBolt, 2x USB 3).  Whew. 
    I backup my system drive wirelessly to a Time Capsule every night (by design, the machine doesn't have access to the TC during the day when I'm working), and use SuperDuper to backup all Libraries and Referenced Originals to specific sparse bundles kept on leap-frogging external drives, with one always off-site.  At this point I make no practical distinction between FW800 and USB 3 drives for back-up, as they are all fast enough and the back-ups run unattended.  (But USB 3 seems to be much faster.) 

  • Macpro config for Aperture

    Hi guys
    I have the very first macpro ever released, the old 2 x dual core 2.66ghz xeon 5150's and 16gb ram. I have the nvidia 8800gt which i bought a while back when my old ati 1900xt card died.
    I'm running 2 x 30" screens.
    I'm thinking now is the time where a new one would give a bit of speed boost.
    Can anyone suggest a ideal config for Aperture? My cameras are 1Ds mk3's and my aperture library is around 1.4tb at the moment.
    I'm thinking the (obscenely priced) 2.93 8 core with 16gb ram from transintl.com and the radeon 4870.
    I have lots of hard drives already I can put in it.
    thanks

    Your existing box (the same as mine) is still very good. Personally I would wait to replace it; at least until we see real-world Aperture performance on the new boxes for a month or two to help determine optimum configuration.
    The CPU clock upgrades above the 2.26 8-core are ridiculously expensive, probably not cost effective. Wait until the end of the year and I bet we will see price drop and/or speed bump.
    The Radeon 4870 is alleged to perhaps work on our 2006 Macs. Wait and see if it does. Barefeats.com will have tests.
    My guess is that careful RAID array of fast hard drives & Library configuration (Referenced Masters Library perhaps?) might help performance on the existing box a great deal.
    Wait too for memory tests before you add RAM to a 2009 MP. Early reports suggest groups of 6 rather than 8 DIMMs. Again, barefeats.com will have tests.
    -Allen Wicks

  • QuickJog 1.0 - Shuttle/Jog Replacement for Premiere CS6... almost

    quickJog 1.0 - "fixing what Adobe broke in CS6"
    a shuttle/jog replacement for Premiere/Prelude CS6
    * see below for download links and instructions *
    Introduction
    I'll waste no time in expressing my opinion on this one: I loved the jog control in previous versions of Premiere, and a small part of my heart died when I realised that those beloved controls couldn't be reinstated in CS6 (though an ever larger chunk died when I realised that Q and W don't work by default in Prelude... ).
    JKL is great as a concept, but in practice, not very responsive - it's difficult to make precise jumps in speed quickly, and I'd hate to log footage in CS6 using the JKL keys alone.
    It was whilst reading through a different thread on the forums that I had an idea. Why not just jog with the middle mouse button? REAPER uses a similar idea to great effect for scrubbing.
    And so the journey began.
    Installing/using quickJog
    Pre-requisites
    Glovepie is only available for Windows. The script, therefore, only works on Windows.
    Sorry Mac users.
    To use quickJog, you'll need to download the following:
    GlovePie, from glovepie.org. Doesn't matter whether you grab the version with or without emotiv support, as long as it's a recent version
    The quickJog script, from bit.ly/getQuickJog (unreserved thanks go to Creative Inlet Films for hosting this)
    A mouse with a middle-mouse button/clickable scroll wheel
    You'll also need to ensure:
    The JKL keys have not been re-mapped in Premiere. This is essential, as quickJog 'presses' the JKL keys to alter the jog speed in Premiere.
    Installation/usage
    Is currently as simple as...
    Start Glovepie
    From the File menu, select Open...
    Navigate to wherever you unzipped the quickJog script. Open it.
    Click the Run button
    Click the [ .] button at the end of the menu bar to minimise Glovepie to the system tray
    To shuttle, click on the program monitor, source monitor or trim monitor, and scroll the mouse wheel. This functionality is built-into Premiere. You can hold Shift for bigger jumps.
    To jog, click and hold the middle-mouse button over the source monitor, program monitor, or timeline, and move left or right to increase/decrese the jog speed (just like the old jog slider).
    QuickJog tracks the position of the mouse itself, not the position of your mouse cursor, so don't worry about the cursor touching the edge of your screen.
    Keep your eyes on the video, not the mouse!
    To exit, right-click the glovePie icon, and select Exit.
    quickJog works in Prelude too, which is pretty cool.
    Links/Misc
    HOW AWESOME WOULD SOME EXTRA BITS OF INFORMATION BE FOR THE WORLD? Like information on how to tweak the configuration variables??
    Pretty awesome, I'd say James. Have you thought about actually writing this section, then?
    Paha! Don't be crass.
    Aww.

    I stand humbly informed!
    In hindsight, I'm not surprised that the JKL keys are a popular choice amongst editors (especially for those who've moved across from other NLEs), but it does rest somewhat uncomfortably in my heart. It feels like Adobe have replaced the pedals and gearstick in my car with a keyboard: not great for those moments when a child runs into the road.
    The Shuttle Pro (and Bella to my knowledge?) controllers emulate left/right arrow keypresses to do their work, making the playback 'glitchy' during shuttle operations - I don't like that. I didn't particularly like the feel of the Shuttle Pro when I tried it either. I do like controllers like this (I have one), but have been working for some time on interfacing between the Sony 9-pin protocol and Premiere.
    As such, my intermediate preference has been to use a graphics tablet (with a keyboard) for NLE work - hence why having the jog/shuttle controls on screen was so darn useful! Now that I have quickJog mapped to the stylus eraser, edits are much faster.
    Quick aside: Huge commendations on just how much can be mapped to keyboard shortcuts in Premiere, huzzah!

  • New Macbook a good replacement for 12" Powerbook?

    I think, besides the inch in display difference, that the new macbook WOULD HAVE made a GREAT GREAT GREAT replacement for users loving or wanting the portability, yet pro versatility of the old 12" Powerbooks. I think however that Apple has missed the mark in one BIG BIG WAY! Firewire. People who wanted something like the 12" powerbook wanted the power of the Macbook Pro in a smaller package. Apple hit the nail on the head with incorporating the same graphics performance, by using aluminum, by making it lighter, and by putting in the illuminated keyboard (only in the 2.4 model though). But on the last detail, they missed it. Firewire. there is no workaround. period. Why preload the systems with iMovie when you can't import video from MOST modern digital camcorders? WITHOUT EVEN introducing a new port with adapters (like they did with the Display Port). I think I would've sold my old macbook pro and had instantly purchased the new macbook if Apple had just included that one VITAL port. I would even prefer them putting it in the place of one of the two USB ports. But without being able to import video from my NEW minidv, there is just no way i could buy that macbook and call myself a proud mac owner. What kind of digital hub would that be? Isn't your slogan "works right out of the box."...? what do you guys think about the new macbook being a 12" powerbook replacement??

    I have the same situation. I wanted to upgrade from my 12" Powerbook and would move up to the 13" screen of the new MacBook (15" is much too big for my needs). Another family member has the 15" Powerbook and has always liked my smaller size. I was ready to order 2 of the 13" MacBooks and was then stunned to see that Firewire was missing. I have a Sony DV camcorder for movies. It appears Apple expects me to use my old Powerbooks to input the video into iMovie and then transfer it over to my new MacBook. This is not the cutting edge Apple Computer Company that I have been a customer of for 25 years.
    If Apple wants to add firewire to the new MacBooks, develop a USB / Ethernet to firewire adapter, or add a 13" MacBook Pro (w/ firewire) to the line-up, they will have a customer. Otherwise, I will hold onto my old Powerbooks until this is corrected.

  • APEX Listener as a replacement for modplsql ?

    Will APEX Listener ever be, or is it able to be now, a replacement for modplsql driven applications that are not APEX. It seems that it already takes care of everything needed to be a full scale modplsql replacement... In all honesty looking to see if it is possible to reduce the future licensing load on some of my clients if they wanted to build more redundancy into their front-end web applications. They wouldn't be reducing what they pay, as they are still in for the Forms installs in app server, but they are inhibited on their redundancy growth outward since adding new licenses to cover these new servers would be cost prohibitive. This is mainly a third-party product (SGHE's Self-Service Banner) that is driven off of modplsql, so rewrite isn't an option.
    Thanks for your input,
    -Richard

    As of the last EA version, it depends on which modplsql features your application uses. The main modplsql features that are not yet supported are:
    Basic database authentication - The listener must be configured with a single username and password and cannot dynamically change the database connection at run time.
    Multiple DADS - Each listener is configured for one and only one database connection. However, there is a way to install multiple copies of the listener, and configure each for a different database connection.
    Dynamic parameter passing - There must be a one to one relationship between fields on an HTML form (or query string variables in the URL) and the non-defaulted parameters of the called procedure. Name and Value arrays, with the "!" before the procedure name in the URL are not supported.
    CGI environment variables in the DAD.
    Oracle MAY support some or all of these features in the production version, or in some future version. We can probably influence this by telling Oracle what we want - but no guarantees. Kris Rice tells me that the APEX Listener was written to be extendable, so once Oracle gives us some documentation of how to extend it, some enterprising programmer may add some of these features as an extension.

  • Nvidia 8800 GT not the best for Aperture use?

    I've been reading from barefeats ( http://barefeats.com/harper10.html ) that the 8800 GT is not the best graphics card for Aperture. Actually I don't think they actually tested Aperture, but Motion 3. The Nvidia is a more expensive option than the ATIs, yet it would be worse for Aperture? Has someone specifically benchmarked Aperture 2 (not another pro app, and no synthetic tests of core image) with the 8800 GT against the other cards? Would Apple update Aperture to make it take better advantage of the 8800 GT's strengths (when available in a system)? I hope so. I already got the Nvidia, and am waiting to get a Mac Pro in the summer.

    Here's my prelim findings (as posted in another thread). Will come back with more detailed comments after I have a chance to test some more:
    Re: nvidia 8800GT in 1st generation MacPro
    Posted: 25-Apr-2008 13:08 in response to: Dale Strumpell
    Reply Email
    I've just put one in my first gen mac pro, too. I can confirm a great deal of improvement over the stock 7300 gt. My prob was when an image had been straightened, cropped etc if I then attempted edge sharpening it was just awful - beachballs in abundance, crappy panning, slower than Capture NX. Now, though, it is fast and pleasant to use. That's the good news. The bad news is either:
    1. Apple put such a puny graphics card in a Mac Pro (sic) in the first place (although it copes with everything except its own Pro photo software)
    2. Apple wrote such idiosyncratic software (leaning on the on-graphics card memory so much) that meant Mac Pro (sic) machines hardly more than a year old couldn't cope without a new graphics card when running Apple's own pro photo software. That and the 7300 is still on the "recommended" list of cards for running Aperture 2.
    Ho and, indeed, hum.
    Cheers
    D

  • Replacement for dvi to vga adapter for late 2008 17"Macbook pro

    Hello,
    I have a 17" inch late 2008 mack pro. The apple dvi to vga adapter cable is not working anymore. I can seem to find a replacement for it. I have tried the generic dvi to vga adapter (image attached). This does not work. Please advise

    Hello mshameel,
    It may help to reset your system's SMC and NVRAM.
    Intel-based Macs: Resetting the System Management Controller (SMC)
    http://support.apple.com/kb/HT3964
    About NVRAM and PRAM
    http://support.apple.com/kb/HT1379
    Cheers,
    Allen

  • Did up date for 10.7.4 to 10.7.5 and update for Aperture and now  Aperture doesn't open.  How do I fix?

    Did up date for 10.7.4 to 10.7.5 and update for Aperture and now  Aperture doesn't open.  How do I fix?

    I heard dump the app and reinstall?  How do I go about that?

  • I could not get my iPhone 5 which purchased in Australia repaired by apple in the US. Guys from apple retail store verified a replacement for me and asked to call apple care. However, apple care said they cannot get it fixed nor repaired.

    My iPhone 5 got some defects and I went to a apple reatil store yesterday. The guy from the genius bar told me that he verified a replacement for me. And I need to call 1-800-apple care to finish that process. I called apple care and one of the senior supervisors told me that I have to send it back to Australia (where I bought this iPhone) to get it repaired. Turns out I could not solve the problem after a apple store vist and several calls. I just want to know if there any way to solve this. This iPhone is a factory unlocked one that purchased in an apple retail store in Melbourne at the day it was first released. And my experience today is not what I can tell as fair. I will be really appreciate for any helps and advices. Thanks.

    Warranty on iPhone is not international, but valid only in country of
    original sale. Since you purchased the iPhone in Australia, your warranty
    is valid only in Australia. You must either personally return the iPhone
    to Australia for evaluation and possible replacement or sent it to someone
    in Australia to take into Apple for the evaluation. Apple will not accept
    international shipments for repair nor will Apple ship out of the country
    after replacement.
    Sorry to be the bearer of this news, but it is the way iPhone warranty and
    replacement has always worked.

  • Is Apple about to introduce a replacement for iWeb?? and where can I download iWeb to replace the one I lost??

    Having spent a little time searching for a replacement download for iWeb (details of why below)  it seems that I cannot find it anywhere in Apple Land.  From my limited experience here (iphone,  macbook pro, airport extreme and airport express)  it looks like Apple gradually withdraws stuff prior to introducing something really exciting  to replace it.
    So
    Question:   Is there a new super replacement for iWeb about to be introduced?  
    I cannot believe that Apple would take away something as great as iWeb (having read reviews and used it myself as a complete web novice)  without giving us something better.
    I foolishly followed some genius advice and did a wipe/reload of Lion, prior to updating to Mountain Lion (my fault, I thought my lovely Macbook Pro was running a little slow - probably wasnt - just me being impatient.) Anyway, long story short,  I lost iphoto (got it back by re-purchasing but would like a refund - another string running with this),   iWeb - can't find it anywhere - asked questions here in Apple Land and am getting some conflicting answers.
    I am sat in London without my iweb for a some days and would really like to get on with a bit of web stuff. 
    Question:  is there anywhere in Apple Land where I can download iWeb
    Question:  can you confirm that the iweb programme will be on one of the disks that came with the machine?   (they are 100 miles away so I will have to wait, unless there is an easier way)
    Sorry,  rambling a bit.
    Hope you can help out there
    Thanks
    Steve

    The iWeb application was specifically created to be used with .Mac and then MobileMe and Apple withdrew support for iWeb several months ago, when it was announced that MobileMe would be no longer and would be replaced by iCloud.  MobileMe ceased at the end of June this year and has been replaced by iCloud, that does not offer web hosting, so no need for iWeb.
    Apple stopped selling iWeb in its stores several months ago and has withdrawn support for iWeb, so no, you won't find either iWeb or iDVD for sale in the Mac App Store because Apple no longer sells it.
    You cannot download iWeb, so if you want iWeb, you will have to purchase the iLife 11 boxed set from Amazon and this contains iWeb 09 which is the latest version of iWeb.  Apple does not sell this either.
    If your Mac was running Snow Leopard, then it would have come with installation CD's, so yes, you should be able to re-load the whole of the iLife series, which includes iWeb, iDVD and iPhoto back onto your Mac running Mountain Lion.  You did not need to make an additional purcahse of iPhoto from the Mac App Store - you could have re-loaded from these CD's.  The only place you will get a refund is by contacting the Mac App Store. Nobody here can help you with that.
    So if you want iWeb back, check to see if it is on you installation CD's - it should be if you have a Mac running Snow Leopard and put it back on your Mac from there.  If not, then your only option is to purchase the iLife 11 boxed set from Amazon and you can load iWeb from there.
    As Apple no longer supports iWeb and there is no MobileMe any longer, then there are unikely to be any further updates to the programme and nothing else will come along.  You can still use the app though if you have it and it works with Mountain Lion, however, there may come a time when it won't work with future iOS updates, so it would pay you to look at the alternatives out there which are many and varied.  Take a look at RapidWeaver, Sandvox, Freeway Pro/Express, Flux 4 etc.  You can download free trials of most and some are for sale in the Mac App Store.
    Also, please be advised that this is a user to user forum and everyone here who replies to you is a user, so you are not talking directly to Apple here.
    Give Apple feedback directly by going to http://www.apple.com/feedback.

  • A replacement for the Quicksort function in the C++ library

    Hi every one,
    I'd like to introduce and share a new Triple State Quicksort algorithm which was the result of my research in sorting algorithms during the last few years. The new algorithm reduces the number of swaps to about two thirds (2/3) of classical Quicksort. A multitude
    of other improvements are implemented. Test results against the std::sort() function shows an average of 43% improvement in speed throughout various input array types. It does this by trading space for performance at the price of n/2 temporary extra spaces.
    The extra space is allocated automatically and efficiently in a way that reduces memory fragmentation and optimizes performance.
    Triple State Algorithm
    The classical way of doing Quicksort is as follows:
    - Choose one element p. Called pivot. Try to make it close to the median.
    - Divide the array into two parts. A lower (left) part that is all less than p. And a higher (right) part that is all greater than p.
    - Recursively sort the left and right parts using the same method above.
    - Stop recursion when a part reaches a size that can be trivially sorted.
     The difference between the various implementations is in how they choose the pivot p, and where equal elements to the pivot are placed. There are several schemes as follows:
    [ <=p | ? | >=p ]
    [ <p | >=p | ? ]
    [ <=p | =p | ? | >p ]
    [ =p | <p | ? | >p ]  Then swap = part to middle at the end
    [ =p | <p | ? | >p | =p ]  Then swap = parts to middle at the end
    Where the goal (or the ideal goal) of the above schemes (at the end of a recursive stage) is to reach the following:
    [ <p | =p | >p ]
    The above would allow exclusion of the =p part from further recursive calls thus reducing the number of comparisons. However, there is a difficulty in reaching the above scheme with minimal swaps. All previous implementation of Quicksort could not immediately
    put =p elements in the middle using minimal swaps, first because p might not be in the perfect middle (i.e. median), second because we don’t know how many elements are in the =p part until we finish the current recursive stage.
    The new Triple State method first enters a monitoring state 1 while comparing and swapping. Elements equal to p are immediately copied to the middle if they are not already there, following this scheme:
    [ <p | ? | =p | ? | >p ]
    Then when either the left (<p) part or the right (>p) part meet the middle (=p) part, the algorithm will jump to one of two specialized states. One state handles the case for a relatively small =p part. And the other state handles the case for a relatively
    large =p part. This method adapts to the nature of the input array better than the ordinary classical Quicksort.
    Further reducing number of swaps
    A typical quicksort loop scans from left, then scans from right. Then swaps. As follows:
    while (l<=r)
    while (ar[l]<p)
    l++;
    while (ar[r]>p)
    r--;
    if (l<r)
    { Swap(ar[l],ar[r]);
    l++; r--;
    else if (l==r)
    { l++; r--; break;
    The Swap macro above does three copy operations:
    Temp=ar[l]; ar[l]=ar[r]; ar[r]=temp;
    There exists another method that will almost eliminate the need for that third temporary variable copy operation. By copying only the first ar[r] that is less than or equal to p, to the temp variable, we create an empty space in the array. Then we proceed scanning
    from left to find the first ar[l] that is greater than or equal to p. Then copy ar[r]=ar[l]. Now the empty space is at ar[l]. We scan from right again then copy ar[l]=ar[r] and continue as such. As long as the temp variable hasn’t been copied back to the array,
    the empty space will remain there juggling left and right. The following code snippet explains.
    // Pre-scan from the right
    while (ar[r]>p)
    r--;
    temp = ar[r];
    // Main loop
    while (l<r)
    while (l<r && ar[l]<p)
    l++;
    if (l<r) ar[r--] = ar[l];
    while (l<r && ar[r]>p)
    r--;
    if (l<r) ar[l++] = ar[r];
    // After loop finishes, copy temp to left side
    ar[r] = temp; l++;
    if (temp==p) r--;
    (For simplicity, the code above does not handle equal values efficiently. Refer to the complete code for the elaborate version).
    This method is not new, a similar method has been used before (read: http://www.azillionmonkeys.com/qed/sort.html)
    However it has a negative side effect on some common cases like nearly sorted or nearly reversed arrays causing undesirable shifting that renders it less efficient in those cases. However, when used with the Triple State algorithm combined with further common
    cases handling, it eventually proves more efficient than the classical swapping approach.
    Run time tests
    Here are some test results, done on an i5 2.9Ghz with 6Gb of RAM. Sorting a random array of integers. Each test is repeated 5000 times. Times shown in milliseconds.
    size std::sort() Triple State QuickSort
    5000 2039 1609
    6000 2412 1900
    7000 2733 2220
    8000 2993 2484
    9000 3361 2778
    10000 3591 3093
    It gets even faster when used with other types of input or when the size of each element is large. The following test is done for random large arrays of up to 1000000 elements where each element size is 56 bytes. Test is repeated 25 times.
    size std::sort() Triple State QuickSort
    100000 1607 424
    200000 3165 845
    300000 4534 1287
    400000 6461 1700
    500000 7668 2123
    600000 9794 2548
    700000 10745 3001
    800000 12343 3425
    900000 13790 3865
    1000000 15663 4348
    Further extensive tests has been done following Jon Bentley’s framework of tests for the following input array types:
    sawtooth: ar[i] = i % arange
    random: ar[i] = GenRand() % arange + 1
    stagger: ar[i] = (i* arange + i) % n
    plateau: ar[i] = min(i, arange)
    shuffle: ar[i] = rand()%arange? (j+=2): (k+=2)
    I also add the following two input types, just to add a little torture:
    Hill: ar[i] = min(i<(size>>1)? i:size-i,arange);
    Organ Pipes: (see full code for details)
    Where each case above is sorted then reordered in 6 deferent ways then sorted again after each reorder as follows:
    Sorted, reversed, front half reversed, back half reversed, dithered, fort.
    Note: GenRand() above is a certified random number generator based on Park-Miller method. This is to avoid any non-uniform behavior in C++ rand().
    The complete test results can be found here:
    http://solostuff.net/tsqsort/Tests_Percentage_Improvement_VC++.xls
    or:
    https://docs.google.com/spreadsheets/d/1wxNOAcuWT8CgFfaZzvjoX8x_WpusYQAlg0bXGWlLbzk/edit?usp=sharing
    Theoretical Analysis
    A Classical Quicksort algorithm performs less than 2n*ln(n) comparisons on the average (check JACEK CICHON’s paper) and less than 0.333n*ln(n) swaps on the average (check Wild and Nebel’s paper). Triple state will perform about the same number of comparisons
    but with less swaps of about 0.222n*ln(n) in theory. In practice however, Triple State Quicksort will perform even less comparisons in large arrays because of a new 5 stage pivot selection algorithm that is used. Here is the detailed theoretical analysis:
    http://solostuff.net/tsqsort/Asymptotic_analysis_of_Triple_State_Quicksort.pdf
    Using SSE2 instruction set
    SSE2 uses the 128bit sized XMM registers that can do memory copy operations in parallel since there are 8 registers of them. SSE2 is primarily used in speeding up copying large memory blocks in real-time graphics demanding applications.
    In order to use SSE2, copied memory blocks have to be 16byte aligned. Triple State Quicksort will automatically detect if element size and the array starting address are 16byte aligned and if so, will switch to using SSE2 instructions for extra speedup. This
    decision is made only once when the function is called so it has minor overhead.
    Few other notes
    - The standard C++ sorting function in almost all platforms religiously takes a “call back pointer” to a comparison function that the user/programmer provides. This is obviously for flexibility and to allow closed sourced libraries. Triple State
    defaults to using a call back function. However, call back functions have bad overhead when called millions of times. Using inline/operator or macro based comparisons will greatly improve performance. An improvement of about 30% to 40% can be expected. Thus,
    I seriously advise against using a call back function when ever possible. You can disable the call back function in my code by #undefining CALL_BACK precompiler directive.
    - Like most other efficient implementations, Triple State switches to insertion sort for tiny arrays, whenever the size of a sub-part of the array is less than TINY_THRESH directive. This threshold is empirically chosen. I set it to 15. Increasing this
    threshold will improve the speed when sorting nearly sorted and reversed arrays, or arrays that are concatenations of both cases (which are common). But will slow down sorting random or other types of arrays. To remedy this, I provide a dual threshold method
    that can be enabled by #defining DUAL_THRESH directive. Once enabled, another threshold TINY_THRESH2 will be used which should be set lower than TINY_THRESH. I set it to 9. The algorithm is able to “guess” if the array or sub part of the array is already sorted
    or reversed, and if so will use TINY_THRESH as it’s threshold, otherwise it will use the smaller threshold TINY_THRESH2. Notice that the “guessing” here is NOT fool proof, it can miss. So set both thresholds wisely.
    - You can #define the RANDOM_SAMPLES precompiler directive to add randomness to the pivoting system to lower the chances of the worst case happening at a minor performance hit.
    -When element size is very large (320 bytes or more). The function/algorithm uses a new “late swapping” method. This will auto create an internal array of pointers, sort the pointers array, then swap the original array elements to sorted order using minimal
    swaps for a maximum of n/2 swaps. You can change the 320 bytes threshold with the LATE_SWAP_THRESH directive.
    - The function provided here is optimized to the bone for performance. It is one monolithic piece of complex code that is ugly, and almost unreadable. Sorry about that, but inorder to achieve improved speed, I had to ignore common and good coding standards
    a little. I don’t advise anyone to code like this, and I my self don’t. This is really a special case for sorting only. So please don’t trip if you see weird code, most of it have a good reason.
    Finally, I would like to present the new function to Microsoft and the community for further investigation and possibly, inclusion in VC++ or any C++ library as a replacement for the sorting function.
    You can find the complete VC++ project/code along with a minimal test program here:
    http://solostuff.net/tsqsort/
    Important: To fairly compare two sorting functions, both should either use or NOT use a call back function. If one uses and another doesn’t, then you will get unfair results, the one that doesn’t use a call back function will most likely win no matter how bad
    it is!!
    Ammar Muqaddas

    Thanks for your interest.
    Excuse my ignorance as I'm not sure what you meant by "1 of 5" optimization. Did you mean median of 5 ?
    Regarding swapping pointers, yes it is common sense and rather common among programmers to swap pointers instead of swapping large data types, at the small price of indirect access to the actual data through the pointers.
    However, there is a rather unobvious and quite terrible side effect of using this trick. After the pointer array is sorted, sequential (sorted) access to the actual data throughout the remaining of the program will suffer heavily because of cache misses.
    Memory is being accessed randomly because the pointers still point to the unsorted data causing many many cache misses, which will render the program itself slow, although the sort was fast!!.
    Multi-threaded qsort is a good idea in principle and easy to implement obviously because qsort itself is recursive. The thing is Multi-threaded qsort is actually just stealing CPU time from other cores that might be busy running other apps, this might slow
    down other apps, which might not be ideal for servers. The thing researchers usually try to do is to do the improvement in the algorithm it self.
    I Will try to look at your sorting code, lets see if I can compile it.

  • HT4007 How to I find my serial number for Aperture 3. Just moved it to a new imac.

    I purchased Aperture 3 from the Apple App Store in 2010 and downloaded it.  I received an activation key but no serial number.
    Now I have transferred Aperture 3 to a new imac but it asked for a serial number.  I put the activation number in but is says it is invalid.
    I have tried to find my answer via Apple Support but can't find personal support for aperture.
    Can anyone here help me?

    And how did you transfer? What installer did you use? Not a download from the App Store?
    Reinstall using the Trial version installer, if your activation key comes with the Trial version.
    Download here the Aperture 3.1 Trial.

Maybe you are looking for

  • Adobe AIR Installer -  Hybrid - fails to launch on MAC

    We have an AIR application to be delivered as a hybrid DVD The AIR is deployed as a bundled runtime installer. The issue is after burning the DVD as a hybrid, the Adobe AIR Installer does not launch. We are using toast to burn the hybrid DVD Has anyb

  • Anyone has a remedy for mail/leopard sending emails problem ?

    I just spend hours on my MBP trying to set up MAIL and on various forums trying to find a cure for what seems to be a common problem on Leopard, not being able to send emails. I like many others are getting the "can not send message using the smtp se

  • Leopard installed, DVD now freezes and stalls within seconds

    I have a G5 1.8ghz with 1.25GB of ram. The DVD player starts, but freezes after a few seconds of disjointed video playback. Audio continues, but the pointer turns into a permanent 'swirl' and the computer hangs. I can't then stop the player or eject

  • Goto statement in SAP workflows

    Hi Experts,                I have devleope a workflow; which has total 3 steps. I want to set back the control to get approvers (just like goto statement) after step "chamber of commerce display) again and again until my condition is met. I don't wan

  • Put dynamic image on interactive forms can u please tell steps by ste

    Hi, I need to display image on interactive forms can u please tell steps by steps. Regards, Gurprit Bhatia Edited by: GURPRIT BHATIA on Dec 26, 2007 5:20 AM