final performance stats: method 2 is slowest