First question which comes to mind is - do you really need to call sort in those two foreach collections? Sort can often take time, and the fact that you've got one sort nested inside a foreach loop is bad karma:)
Andrew On Mon, Jan 19, 2015 at 2:50 PM, Mike Martin <m...@redtux.org.uk> wrote: > The lookup hash is like this > %clean=( > Heating Engineer => (?:Heating.*?Engineer)\b.*? > HGV > Driver=>(?=\A(?:(?!tech|mech).)*$)(?:HGV|LGV|Class.?1|Class.?2).?(?:1|2|3|)(?:.+Driver|).*? > HGV Mechanic=> (?:(?:HGV|LGV|Lorry).+(?:Mech?anics?|technicians?))\b.*? > Highway Engineer=> (?:(?:Highway.?) (?:Engineer.?))\b.*? > Highway Technician => (?:Highway.?) (?:Technician.?)\b.*? > ) > > this is then used for > > foreach my $list ( sort keys %jtitles){ > no warnings 'uninitialized'; > > foreach my $clean (sort keys %clean){ > if ($list=~/$clean{$clean}->{pattern}/i){ > $jtitles{$list}->{JobClean}=$clean{$clean}->{replace} ; > } > > } > > (jtitles is created from a bigger listing of unformatted text) > > > On 19 January 2015 at 13:53, Brandon McCaig <bamcc...@gmail.com> wrote: >> >> Mike: >> >> On Mon, Jan 19, 2015 at 01:25:56PM +0000, Mike Martin wrote: >> > Hi >> >> Hello, >> >> > I am looking for the most performant way to achieve this >> > >> > I have a big list of text (470000+ lines in a hash) I then run >> > a hash ref consisting of replacement text - pattern to search - >> > optional 3rd param for grouping matches >> > >> > So I loop through the text and then loop the regex hash against >> > each record >> > >> > This works but takes about 20 minutes >> > >> > Any suggestions >> >> It might help to post some actual code. I wonder how those 500k >> lines are getting loaded into the first hash in the first place, >> what keys are being used, and then how the second hash is related >> to it. This sounds a bit like an XY problem[1], but you'll likely >> want to solve the problem with a more ideal algorithm and that >> might require a more ideal data structure. Not that I'm any >> authority on this problem. :\ >> >> [1] http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem >> >> Regards, >> >> >> -- >> Brandon McCaig <bamcc...@gmail.com> <bamcc...@castopulence.org> >> Castopulence Software <https://www.castopulence.org/> >> Blog <http://www.bambams.ca/> >> perl -E '$_=q{V zrna gur orfg jvgu jung V fnl. }. >> q{Vg qbrfa'\''g nyjnlf fbhaq gung jnl.}; >> tr/A-Ma-mN-Zn-z/N-Zn-zA-Ma-m/;say' >> > -- Andrew Solomon Mentor@Geekuni http://geekuni.com/ http://www.linkedin.com/in/asolomon -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/