-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 So one of my earnest desires for improving Gitit performance on test.darcs.net was to remove as many calls to darcs changes as possible in Gitit & Filestore (finished in HEAD), and also for 'darcs changes' to be much faster for the use-case of getting the last hash affecting a given file.
The latter seems to've been done during the Darcs sprint, and the - --max-count option is now available at the branch http://code.haskell.org/darcs/sprint-2009-04/max-count It offers a considerable speedup: example timings on my system include AlexanderGrafov.page real 0m0.150s user 0m0.124s sys 0m0.020s AnttiJuhaniKaijanaho.page real 0m0.150s user 0m0.128s sys 0m0.020s Backups.page real 0m0.120s user 0m0.092s sys 0m0.020s A comparable command, dropping the max-count, is noticeably slower: AlexanderGrafov.page real 0m3.320s user 0m1.188s sys 0m0.220s AnttiJuhaniKaijanaho.page real 0m1.011s user 0m0.892s sys 0m0.120s Backups.page real 0m9.653s user 0m1.380s sys 0m0.236s enWheeler.page real 0m1.272s user 0m1.032s sys 0m0.212s BestPractices.page real 0m1.947s user 0m1.652s sys 0m0.264s Binaries.page real 0m2.102s user 0m1.480s sys 0m0.228s And even on my speedy personal system the speedup in a gitit instance is perceptible; so I think with all these optimizations put together, test.darcs.net may be usable again. Attached are patches that make filestore use --max-count=1 (due to versioning you may need to override the darcs dependency). - -- gwern -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Use GnuPG with Firefox : http://getfiregpg.org (Version: 0.7.5) iEYEAREKAAYFAknrN3YACgkQvpDo5Pfl1oJNsQCfebax7yA5kP4kz58mLFfFj2hX sQ0AnjioqmPdb14tBvio7SNsnYl8M3S8 =N98U -----END PGP SIGNATURE-----
[09:58 AM] 1.0Mb$ for file in *; do echo $file && time darcs changes --xml-output --max-count=1 $file > /dev/null; done AddACommand.page real 0m0.066s user 0m0.048s sys 0m0.020s AlexanderGrafov.page real 0m0.150s user 0m0.124s sys 0m0.020s AnttiJuhaniKaijanaho.page real 0m0.150s user 0m0.128s sys 0m0.020s Backups.page real 0m0.120s user 0m0.092s sys 0m0.020s BenWheeler.page real 0m0.150s user 0m0.132s sys 0m0.020s BestPractices.page real 0m0.065s user 0m0.048s sys 0m0.020s Binaries.page real 0m0.064s user 0m0.048s sys 0m0.016s BlogBuzz.page real 0m0.117s user 0m0.100s sys 0m0.008s BranchingAndMerging.page real 0m0.125s user 0m0.100s sys 0m0.016s BugTrackerHowto.page real 0m0.070s user 0m0.044s sys 0m0.024s BugTrackerIssueManagement.page real 0m0.067s user 0m0.044s sys 0m0.024s BugTracker.page real 0m0.141s user 0m0.112s sys 0m0.032s BugTrackerTopics.page real 0m0.140s user 0m0.112s sys 0m0.032s BuildingUnderWindows.page real 0m0.069s user 0m0.060s sys 0m0.008s CabalWishlist.page real 0m0.116s user 0m0.092s sys 0m0.016s CategoryBinaries.page real 0m0.064s user 0m0.052s sys 0m0.012s CategoryDevelopers.page real 0m0.124s user 0m0.108s sys 0m0.024s CategoryEmacs.page real 0m0.062s user 0m0.040s sys 0m0.020s CategoryRecruitment.page real 0m0.123s user 0m0.104s sys 0m0.016s ChristianKellermann.page real 0m0.154s user 0m0.120s sys 0m0.024s CodingStyle.page real 0m0.064s user 0m0.052s sys 0m0.012s CompilingOnCygwin.page real 0m0.063s user 0m0.052s sys 0m0.008s ConfictMiseryAnalysis.page real 0m0.062s user 0m0.052s sys 0m0.012s Config.hs real 0m1.399s user 0m1.208s sys 0m0.184s ConflictMisery.page real 0m0.062s user 0m0.060s sys 0m0.000s ConflictsFAQ.page real 0m0.052s user 0m0.036s sys 0m0.012s ConflictsHistory.page real 0m0.109s user 0m0.088s sys 0m0.020s ConvertingFromArch.page real 0m0.065s user 0m0.044s sys 0m0.012s ConvertingFromCvs real 0m0.442s user 0m0.320s sys 0m0.116s ConvertingFromCvs.page real 0m0.151s user 0m0.136s sys 0m0.012s ConvertingFromMercurial.page real 0m0.150s user 0m0.128s sys 0m0.028s ConvertingFromSubversion.page real 0m0.063s user 0m0.052s sys 0m0.008s Copy_Patch.page real 0m0.136s user 0m0.108s sys 0m0.032s CopyPatch.page real 0m0.146s user 0m0.112s sys 0m0.020s CraigLennox.page real 0m0.150s user 0m0.124s sys 0m0.028s CVSKeywords.page real 0m0.061s user 0m0.044s sys 0m0.016s DanDutkiewicz.page real 0m0.116s user 0m0.088s sys 0m0.028s _darcs real 0m1.592s user 0m1.376s sys 0m0.172s Darcs2Docbook.page real 0m0.112s user 0m0.088s sys 0m0.024s DarcsDeps.page real 0m0.116s user 0m0.092s sys 0m0.020s DarcsDoc.page real 0m0.115s user 0m0.084s sys 0m0.028s DarcsGit.page real 0m0.041s user 0m0.032s sys 0m0.008s DarcsInternals.page real 0m0.112s user 0m0.100s sys 0m0.012s DarcsIrcChannel.page real 0m0.112s user 0m0.100s sys 0m0.012s DarcsLibraries.page real 0m0.047s user 0m0.036s sys 0m0.008s DarcsMode.page real 0m0.113s user 0m0.100s sys 0m0.016s DarcsMonitor.page real 0m0.166s user 0m0.120s sys 0m0.040s DarcsPatchWatch.page real 0m0.178s user 0m0.148s sys 0m0.016s DarcsReannotate.page real 0m0.172s user 0m0.144s sys 0m0.028s DarcsTeam.page real 0m0.155s user 0m0.136s sys 0m0.012s DarcsTwo real 0m0.899s user 0m0.772s sys 0m0.112s DarcsTwo.page real 0m0.166s user 0m0.140s sys 0m0.028s DarcsumMode.page real 0m0.053s user 0m0.048s sys 0m0.004s DarcsUnderWine.page real 0m0.060s user 0m0.040s sys 0m0.012s DarcsWeeklyNews.page real 0m0.167s user 0m0.132s sys 0m0.036s darcs-wiki-config real 0m1.478s user 0m1.264s sys 0m0.212s DarkArctic.page real 0m0.106s user 0m0.080s sys 0m0.020s DefaultSwitches.page real 0m0.040s user 0m0.036s sys 0m0.004s DeveloperFAQ.page real 0m0.040s user 0m0.036s sys 0m0.008s DeveloperGettingStarted.page real 0m0.061s user 0m0.052s sys 0m0.004s DeveloperTips.page real 0m0.057s user 0m0.052s sys 0m0.012s DiagnosticMessages.page real 0m0.062s user 0m0.048s sys 0m0.012s DifferencesFromArch.page real 0m0.056s user 0m0.048s sys 0m0.008s DifferencesFromCVS.page real 0m0.057s user 0m0.040s sys 0m0.012s DifferencesFromSubversion.page real 0m0.148s user 0m0.128s sys 0m0.020s DocumentationWishlist.page real 0m0.092s user 0m0.076s sys 0m0.016s EricKow.page real 0m0.103s user 0m0.084s sys 0m0.016s EsaIlariVuokko.page real 0m0.149s user 0m0.140s sys 0m0.008s FeatureRequests.page real 0m0.113s user 0m0.092s sys 0m0.024s Features.page real 0m0.109s user 0m0.096s sys 0m0.012s FlorentBecker real 0m0.337s user 0m0.264s sys 0m0.072s FoCAL.page real 0m0.074s user 0m0.064s sys 0m0.012s Forensics.page real 0m0.046s user 0m0.036s sys 0m0.008s Formatting.page real 0m0.120s user 0m0.088s sys 0m0.016s FortuneCookies.page real 0m0.107s user 0m0.100s sys 0m0.004s Fosdem.page real 0m0.106s user 0m0.088s sys 0m0.020s FrequentlyAskedQuestions.page real 0m0.055s user 0m0.048s sys 0m0.008s FrontPage.page real 0m0.055s user 0m0.036s sys 0m0.016s Fundraising.page real 0m0.106s user 0m0.080s sys 0m0.028s GADTPlan.page real 0m0.107s user 0m0.096s sys 0m0.012s GaneshPatchAlgebra.page real 0m0.055s user 0m0.044s sys 0m0.008s GettingStarted.page real 0m0.105s user 0m0.096s sys 0m0.012s GHC6.6.page real 0m0.054s user 0m0.052s sys 0m0.000s gitit.log real 0m1.547s user 0m1.312s sys 0m0.220s gitit.prof real 0m1.801s user 0m1.552s sys 0m0.244s gitit-users real 0m1.398s user 0m1.220s sys 0m0.144s Glossary.page real 0m0.057s user 0m0.032s sys 0m0.024s Gnus.page real 0m0.082s user 0m0.060s sys 0m0.028s GoogleSummerOfCodeMentoring.page real 0m0.103s user 0m0.092s sys 0m0.016s GoogleSummerOfCode.page real 0m0.103s user 0m0.104s sys 0m0.008s GraphicalInterface.page real 0m0.053s user 0m0.036s sys 0m0.016s GuillaumeHoffmann.page real 0m0.150s user 0m0.112s sys 0m0.036s HashedPristine.page real 0m0.109s user 0m0.080s sys 0m0.020s Help.page real 0m0.054s user 0m0.040s sys 0m0.012s HiddenConflicts.page real 0m0.102s user 0m0.084s sys 0m0.016s HintsAndTips.page real 0m0.054s user 0m0.036s sys 0m0.020s Hooks.page real 0m0.097s user 0m0.084s sys 0m0.012s Hosting.page real 0m0.095s user 0m0.072s sys 0m0.020s HowToHelp.page real 0m0.099s user 0m0.080s sys 0m0.020s HttpAuthentication.page real 0m0.059s user 0m0.044s sys 0m0.008s IdeasForDarcs.page real 0m0.137s user 0m0.124s sys 0m0.016s InteroperabilityWithCvs.page real 0m0.052s user 0m0.032s sys 0m0.024s Issues1.0.1.page real 0m0.092s user 0m0.084s sys 0m0.008s Issues1.0.2.page real 0m0.089s user 0m0.064s sys 0m0.028s JCh.page real 0m0.152s user 0m0.128s sys 0m0.020s JeanPhillipeBernardy.page real 0m0.155s user 0m0.124s sys 0m0.032s JeremyFincher.page real 0m0.150s user 0m0.148s sys 0m0.008s JuliuszChroboczek.page real 0m0.114s user 0m0.088s sys 0m0.024s LionKimbro.page real 0m0.166s user 0m0.148s sys 0m0.008s LocalSpellingWords.page real 0m0.093s user 0m0.080s sys 0m0.020s MaintainerTips.page real 0m0.060s user 0m0.040s sys 0m0.012s Manual real 0m1.359s user 0m1.152s sys 0m0.176s MarkStosberg.page real 0m0.102s user 0m0.100s sys 0m0.008s MetaPerl.page real 0m0.161s user 0m0.152s sys 0m0.004s MichaelSchwern.page real 0m0.118s user 0m0.100s sys 0m0.016s MigratingFromSubversion.page real 0m0.053s user 0m0.044s sys 0m0.012s MikeCaley.page real 0m0.152s user 0m0.132s sys 0m0.024s MoreAboutWiki.page real 0m0.100s user 0m0.072s sys 0m0.016s NamedPatch.page real 0m0.052s user 0m0.040s sys 0m0.016s NestedRepositories.page real 0m0.088s user 0m0.064s sys 0m0.020s News real 0m1.004s user 0m0.844s sys 0m0.144s News.page real 0m0.088s user 0m0.068s sys 0m0.020s NicolasPouillard.page real 0m0.150s user 0m0.128s sys 0m0.020s NimrodAbing.page real 0m0.152s user 0m0.116s sys 0m0.032s OtherPagesWhichMentionDarcs.page real 0m0.136s user 0m0.124s sys 0m0.012s PacksSpecification.page real 0m0.085s user 0m0.072s sys 0m0.012s フロントページ.page real 0m0.067s user 0m0.068s sys 0m0.004s PatchGroups.page real 0m0.158s user 0m0.144s sys 0m0.008s PatchPlugins.page real 0m0.158s user 0m0.108s sys 0m0.044s PatchSelectionMechanism.page real 0m0.051s user 0m0.036s sys 0m0.016s PatchTheoryExample.page real 0m0.165s user 0m0.140s sys 0m0.012s PatchTheoryGlossary.page real 0m0.161s user 0m0.140s sys 0m0.016s PatchTheory.page real 0m0.159s user 0m0.136s sys 0m0.028s PatchTheoryPeople.page real 0m0.148s user 0m0.124s sys 0m0.028s PatchTheoryQuestions.page real 0m0.111s user 0m0.092s sys 0m0.012s PatchViewer.page real 0m0.166s user 0m0.152s sys 0m0.016s PekkaPatchTheory.page real 0m0.135s user 0m0.116s sys 0m0.016s Performance.page real 0m0.053s user 0m0.036s sys 0m0.012s Permutivity.page real 0m0.050s user 0m0.036s sys 0m0.016s PetrRockai.page real 0m0.153s user 0m0.132s sys 0m0.012s PlanningSprints.page real 0m0.082s user 0m0.064s sys 0m0.016s PreparationBranches.page real 0m0.082s user 0m0.076s sys 0m0.008s Profiling.page real 0m0.049s user 0m0.040s sys 0m0.008s ProjectsUsingDarcs.page real 0m0.044s user 0m0.028s sys 0m0.012s ProposalForSubrepositories.page real 0m0.081s user 0m0.060s sys 0m0.020s QA%Roadmap.page real 0m0.080s user 0m0.056s sys 0m0.020s RasmusKaj.page real 0m0.156s user 0m0.128s sys 0m0.024s Recruitment.page real 0m0.083s user 0m0.068s sys 0m0.012s ReinierLamers.page real 0m0.150s user 0m0.136s sys 0m0.016s RelatedSoftware.page real 0m0.049s user 0m0.032s sys 0m0.020s ReleaseManagement.page real 0m0.078s user 0m0.064s sys 0m0.016s RemkoTroncon.page real 0m0.148s user 0m0.128s sys 0m0.020s RepoViaSSH.page real 0m0.035s user 0m0.020s sys 0m0.020s ResponseToHavoc.page real 0m0.049s user 0m0.040s sys 0m0.008s ReviewerTips.page real 0m0.049s user 0m0.036s sys 0m0.016s Roadmap.page real 0m0.076s user 0m0.056s sys 0m0.024s RubyDarcs.page real 0m0.141s user 0m0.124s sys 0m0.020s RunningDarcsOnFreebsdFive.page real 0m0.129s user 0m0.108s sys 0m0.020s RyanLowe.page real 0m0.104s user 0m0.096s sys 0m0.012s SchwernHatesDarcs.page real 0m0.141s user 0m0.120s sys 0m0.020s SchwernLikesDarcs.page real 0m0.136s user 0m0.116s sys 0m0.016s ShaeErisson.page real 0m0.150s user 0m0.112s sys 0m0.032s ShellCompletion.page real 0m0.048s user 0m0.040s sys 0m0.004s SpontaneousBranches.page real 0m0.078s user 0m0.056s sys 0m0.032s Sprints real 0m0.041s user 0m0.032s sys 0m0.008s sshfs.page real 0m0.069s user 0m0.052s sys 0m0.016s SSHNotes.page real 0m0.047s user 0m0.020s sys 0m0.028s StandardDarcsBenchmarks.page real 0m0.046s user 0m0.036s sys 0m0.008s StartSide.page real 0m0.135s user 0m0.104s sys 0m0.016s stassats.page real 0m0.068s user 0m0.060s sys 0m0.008s static real 0m1.404s user 0m1.272s sys 0m0.128s StephaneBortzmeyer.page real 0m0.101s user 0m0.084s sys 0m0.020s StrangeThings.page real 0m0.049s user 0m0.048s sys 0m0.000s Tailor real 0m0.342s user 0m0.260s sys 0m0.064s TailorMonotone.page real 0m0.048s user 0m0.036s sys 0m0.008s Tailor.page real 0m0.138s user 0m0.104s sys 0m0.032s Tailor.py.page real 0m0.136s user 0m0.120s sys 0m0.012s Talks.page real 0m0.072s user 0m0.056s sys 0m0.016s template.html real 0m1.722s user 0m1.492s sys 0m0.216s template.html-2009-04-15 real 0m1.636s user 0m1.332s sys 0m0.220s TestingTips.page real 0m0.049s user 0m0.040s sys 0m0.008s TimChevalier.page real 0m0.101s user 0m0.084s sys 0m0.020s TracOnDarcs real 0m0.958s user 0m0.836s sys 0m0.116s TracOnDarcs.page real 0m0.034s user 0m0.016s sys 0m0.016s TrentBuck.page real 0m0.119s user 0m0.104s sys 0m0.004s Unison.page real 0m0.046s user 0m0.032s sys 0m0.016s VersionControlComparisons.page real 0m0.071s user 0m0.060s sys 0m0.012s WhyYouWantPatchTheory.page real 0m0.134s user 0m0.120s sys 0m0.016s WikiToAdd.page real 0m0.071s user 0m0.064s sys 0m0.012s WindowsConfiguration.page real 0m0.141s user 0m0.124s sys 0m0.020s WindowsConsoles.page real 0m0.045s user 0m0.032s sys 0m0.016s Windows.page real 0m0.141s user 0m0.124s sys 0m0.024s WishList.page real 0m0.071s user 0m0.060s sys 0m0.012s Workflows.page real 0m0.068s user 0m0.052s sys 0m0.016s WorkFlowsVsSubversion.page real 0m0.045s user 0m0.040s sys 0m0.004s WorldMaker.page real 0m0.158s user 0m0.132s sys 0m0.016s WritingPortableTests.page real 0m0.068s user 0m0.056s sys 0m0.012s YouTooCanHackOnDarcs.page real 0m0.138s user 0m0.104s sys 0m0.028s פתיחה.page real 0m0.069s user 0m0.060s sys 0m0.008s ВведениеВDarcs.page real 0m0.138s user 0m0.120s sys 0m0.012s ДополнительноеПО.page real 0m0.070s user 0m0.052s sys 0m0.020s Начало.page real 0m0.068s user 0m0.060s sys 0m0.008s 维基教程 real 0m1.224s user 0m1.068s sys 0m0.144s 首頁.page real 0m0.067s user 0m0.044s sys 0m0.020s
maxcount.dpatch
Description: Binary data
_______________________________________________ darcs-users mailing list [email protected] http://lists.osuosl.org/mailman/listinfo/darcs-users
