Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require "benchmark/memory"
- input = [{:Id=>"2688",
- :Name=>"Amanda ",
- :Surname=>"Haines",
- :Title=>"",
- :Phone=>"",
- :Email=>"amanda.haines@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Borough Safety Advisory Group (BSAG)"},
- {:Id=>"4228",
- :Name=>"Andy ",
- :Surname=>"Marr",
- :Title=>"Security Manager Apleona",
- :Phone=>"+44 7766 602 673",
- :Email=>"andy.marr@apleona.com",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"1131",
- :Name=>"Bhavi",
- :Surname=>"Shah",
- :Title=>"",
- :Phone=>"",
- :Email=>"bhavi.shah@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"2679",
- :Name=>"Bob",
- :Surname=>"Barrett",
- :Title=>"Parks Contact",
- :Phone=>"",
- :Email=>"bob.barrett@veolia.com",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Parks"},
- {:Id=>"4223",
- :Name=>"Bob Cox",
- :Surname=>"20th Willesden Scouts",
- :Title=>"Site manager",
- :Phone=>"",
- :Email=>"coxbob008@hotmail.co.uk",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"2681",
- :Name=>"Brent Cemeteries",
- :Surname=>"Generic Email",
- :Title=>"",
- :Phone=>"",
- :Email=>"CEMETERIES@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Cemeteries"},
- {:Id=>"232",
- :Name=>"Caroline",
- :Surname=>"Davies",
- :Title=>"",
- :Phone=>"",
- :Email=>"caroline.davies@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Property and Asset Management"},
- {:Id=>"854",
- :Name=>"Catherine",
- :Surname=>"Fourcampre",
- :Title=>"Bridge Park Centre Manager",
- :Phone=>"",
- :Email=>"catherine.fourcampre@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Bridge Park Leisure Centre"},
- {:Id=>"3724",
- :Name=>"Chris ",
- :Surname=>"Whyte",
- :Title=>"Operational Director Environment",
- :Phone=>"",
- :Email=>"chris.whyte@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"TRUE",
- :Groups=>"Borough Safety Advisory Group (BSAG)"},
- {:Id=>"4231",
- :Name=>"Chris",
- :Surname=>"Williams",
- :Title=>"Vale Farm Sports Centre Manager",
- :Phone=>"",
- :Email=>"chriswilliams@everyoneactive.com",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"4224",
- :Name=>"Christian Rouffaer",
- :Surname=>"20th Willesden Scouts",
- :Title=>"Treasurer",
- :Phone=>"",
- :Email=>"chris.roufffaert@outlook.com",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"233",
- :Name=>"Colin ",
- :Surname=>"Rhodes",
- :Title=>"",
- :Phone=>"",
- :Email=>"filming@wembleystadium.com",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Wembley Stadium"},
- {:Id=>"3966",
- :Name=>"Courtney ",
- :Surname=>"Vaz",
- :Title=>"Traffic Management Engineer",
- :Phone=>"",
- :Email=>"courtney.vaz@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"TRUE"},
- {:Id=>"1750",
- :Name=>"Craik",
- :Surname=>"Court",
- :Title=>"Tara or Cyril",
- :Phone=>"",
- :Email=>"mnn_tr@yahoo.co.uk",
- :SecondEmail=>"cyrilramsay@yahoo.co.uk",
- :Global=>"FALSE"},
- {:Id=>"1751",
- :Name=>"Dundonald",
- :Surname=>"Road",
- :Title=>"Ruth Dar",
- :Phone=>"020 8969 6522",
- :Email=>"ruthdar@aol.com",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"3754",
- :Name=>"Eugene",
- :Surname=>"Buckley",
- :Title=>"Parks contact at Veolia",
- :Phone=>"",
- :Email=>"eugene.buckley@veolia.com",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Parks"},
- {:Id=>"4226",
- :Name=>"Events Team ",
- :Surname=>"The Drum",
- :Title=>"",
- :Phone=>"",
- :Email=>"events@thedrumwembley.com",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"4045",
- :Name=>"Jane ",
- :Surname=>"Hylton",
- :Title=>"Willesden Sports Centre Manager",
- :Phone=>"",
- :Email=>"Jane.Hylton@1Life.co.uk",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"731",
- :Name=>"Jennifer",
- :Surname=>"Barrett",
- :Title=>"Service Manager",
- :Phone=>"",
- :Email=>"jennifer.barrett@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"TRUE",
- :Groups=>"Environmental Health"},
- {:Id=>"239",
- :Name=>"John",
- :Surname=>"Woods",
- :Title=>"",
- :Phone=>"",
- :Email=>"chairman@bhra.co.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Barn Hill Residents Association"},
- {:Id=>"4227",
- :Name=>"Jolanta",
- :Surname=>"Lvova",
- :Title=>"Commercial Manager",
- :Phone=>"",
- :Email=>"jolanta.lvova@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"3688",
- :Name=>"Jonathan ",
- :Surname=>"Max",
- :Title=>"BHP Health & Safety ",
- :Phone=>"",
- :Email=>"jonathan.max@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"housing"},
- {:Id=>"241",
- :Name=>"Judy",
- :Surname=>"Langley",
- :Title=>"",
- :Phone=>"",
- :Email=>"judymapra@googlemail.com",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Mapesbury Resident Association"},
- {:Id=>"4048",
- :Name=>"Kensal Triangle ",
- :Surname=>"Resident Association",
- :Title=>"",
- :Phone=>"",
- :Email=>"info@ktra.co.uk",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"4229",
- :Name=>"Luke",
- :Surname=>"Lester",
- :Title=>"AV Manager ",
- :Phone=>"",
- :Email=>"luke.lester@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"4046",
- :Name=>"Mark Stewart",
- :Surname=>"Willesden Sports Centre",
- :Title=>"",
- :Phone=>"",
- :Email=>"OpsWillesden@1Life.co.uk",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"2683",
- :Name=>"Meenal ",
- :Surname=>"Shah",
- :Title=>"Conference and Events Manager",
- :Phone=>"",
- :Email=>"meenal.shah@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Brent Civic Centre"},
- {:Id=>"3725",
- :Name=>"Met Police Film Unit",
- :Surname=>"Notifications Only",
- :Title=>"",
- :Phone=>"",
- :Email=>"topsheets@met.police.uk",
- :SecondEmail=>"",
- :Global=>"TRUE"},
- {:Id=>"230",
- :Name=>"Met Police Film Unit",
- :Surname=>"Assistance Required",
- :Title=>"",
- :Phone=>"020 3054 5555",
- :Email=>"filmunit@met.police.uk",
- :SecondEmail=>"",
- :Global=>"TRUE",
- :Groups=>"Police"},
- {:Id=>"247",
- :Name=>"Nadia",
- :Surname=>"Khan",
- :Title=>"",
- :Phone=>"",
- :Email=>"nadia.khan@bhphousing.co.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"housing"},
- {:Id=>"248",
- :Name=>"Nirmala",
- :Surname=>"Kerai",
- :Title=>"",
- :Phone=>"",
- :Email=>"nirmala.kerai@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Facilities (council buildings)"},
- {:Id=>"2680",
- :Name=>"Parks ",
- :Surname=>"Generic Email",
- :Title=>"",
- :Phone=>"",
- :Email=>"brent.parks.services@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Parks"},
- {:Id=>"3967",
- :Name=>"Paul ",
- :Surname=>"McDonagh",
- :Title=>"Traffic Management Engineer",
- :Phone=>"",
- :Email=>"paul.mcdonagh@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"TRUE"},
- {:Id=>"249",
- :Name=>"Paul",
- :Surname=>"McGhie",
- :Title=>"",
- :Phone=>"",
- :Email=>"paul.mcghie@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Education Welfare (child licences)"},
- {:Id=>"250",
- :Name=>"Paul",
- :Surname=>"Richards",
- :Title=>"Traffic Manager",
- :Phone=>"5145",
- :Email=>"paul.richards@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"TRUE",
- :Groups=>"Borough Safety Advisory Group (BSAG)"},
- {:Id=>"253",
- :Name=>"Rashmi",
- :Surname=>"Agarwal",
- :Title=>"",
- :Phone=>"",
- :Email=>"rashmi.agarwal@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Libraries"},
- {:Id=>"2366",
- :Name=>"Rennie ",
- :Surname=>"Mulley",
- :Title=>"",
- :Phone=>"",
- :Email=>"rennie.mulley@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"TRUE"},
- {:Id=>"2685",
- :Name=>"Richard",
- :Surname=>"Barrett",
- :Title=>"Head of Regeneration",
- :Phone=>"",
- :Email=>"richard.barrett@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"housing"},
- {:Id=>"4230",
- :Name=>"Ricky ",
- :Surname=>"Shah",
- :Title=>"Operation Officer Client FM",
- :Phone=>"",
- :Email=>"ricky.shah@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"3723",
- :Name=>"Robert ",
- :Surname=>"Anderton",
- :Title=>"Head of Public Realm Contract",
- :Phone=>"",
- :Email=>"robert.anderton@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"TRUE",
- :Groups=>"Borough Safety Advisory Group (BSAG)"},
- {:Id=>"4225",
- :Name=>"Russell",
- :Surname=>"Burnaby",
- :Title=>"Facilities Manager Civic Centre",
- :Phone=>"",
- :Email=>"russell.burnaby@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE"},
- {:Id=>"255",
- :Name=>"Ruth",
- :Surname=>"Dar",
- :Title=>"",
- :Phone=>"",
- :Email=>"ruthdar@aol.com",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Aylestone Park Residents and Tenants Association"},
- {:Id=>"2117",
- :Name=>"Samantha",
- :Surname=>"Haines",
- :Title=>"",
- :Phone=>"",
- :Email=>"samantha.haines@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"TRUE"},
- {:Id=>"4047",
- :Name=>"Steph",
- :Surname=>"Wilson",
- :Title=>"Brent Libraries Manager",
- :Phone=>"",
- :Email=>"stephanie.wilson@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"FALSE",
- :Groups=>"Libraries"},
- {:Id=>"3722",
- :Name=>"Yogini",
- :Surname=>"Patel",
- :Title=>"Senior Regulatory Service Manager",
- :Phone=>"",
- :Email=>"yogini.patel@brent.gov.uk",
- :SecondEmail=>"",
- :Global=>"TRUE",
- :Groups=>"Borough Safety Advisory Group (BSAG)"}]
- class Hash
- def keys_to_downcase_raul
- hash_with_lowercase_keys = {}
- self.each_pair do |key, value|
- hash_with_lowercase_keys.merge!({key.downcase => value})
- end
- hash_with_lowercase_keys
- end
- def keys_to_downcase_peter
- self.map{|k,_|k.downcase}
- end
- end
- Benchmark.memory do |x|
- x.report("Raul") { input.map{|h| h.keys_to_downcase_raul} }
- x.report("Peter") { input.map{|h| h.keys_to_downcase_peter} }
- x.compare!
- end
Add Comment
Please, Sign In to add comment