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/


Reply via email to