Hi, I have just rebased my branch on top of the master and the test suite still pass.
I have a real world example here with performance. My project's build system has 7113 commands to run. This is roughly 7 commands for each input files. There are 1000 inputs files. Just for the configuration step: cmake latest release takes 59:50.10 minutes cmake with my branch takes 1:06.98 minutes So it is about an hour with the latest release and 1 minutes with the patch. I have updated the code, so I hope it will be clearer now. I really want to have this patch in the next release, since I cannot use cmake for my project otherwise. I can work full time on this patch until the end of this week if there is something to change. Cheers, -Nico On Mon, Jul 29, 2013 at 2:40 PM, Nicolas Desprès <nicolas.desp...@gmail.com>wrote: > > > > On Mon, Jul 29, 2013 at 2:25 PM, Stephen Kelly <steve...@gmail.com> wrote: > >> Nicolas Desprès wrote: >> >> >> Also, I don't see why the custom comparison functor is needed at all. I >> >> removed it and sped up the test significantly. Can you explain? >> >> >> > >> > I had some failing tests because the previous algorithm was not a plain >> > strcpy(). >> >> I don't see any strcpy(). Anyway, I think that's as much useful review I >> can >> do for you. I think Brad will have to do the rest. >> >> > Arg. Sorry for being unclear (English is not my mother tongue). > > The std::less<string> comparator do the same thing (as strcpy() < 0). > Unfortunately, we cannot use it here because the previous (O(N)) > implementation of cmMakefile::GetSourceFileWithOutput(const char*) was more > complex than that (have a look to the code my path replaces). Of course, I > first tried with the default comparator to save me some work but some tests > were failing. Namely: ExportImport and CustomCommand. > > Hope this help. > Thanks for your time. > -Nico > > -- Nicolas Desprès
-- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers