Sha256: fd5ae4e696ef699b812ce7346189d7112584ec1d3bb2e7d458e507e41dc8b183
Contents?: true
Size: 1.67 KB
Versions: 112
Compression:
Stored size: 1.67 KB
Contents
package letter import ( "reflect" "testing" ) // In the separate file frequency.go, you are given a function, Frequency(), // to sequentially count letter frequencies in a single text. // // Perform this exercise on parallelism using Go concurrency features. // Make concurrent calls to Frequency and combine results to obtain the answer. var ( euro = `Freude schöner Götterfunken Tochter aus Elysium, Wir betreten feuertrunken, Himmlische, dein Heiligtum! Deine Zauber binden wieder Was die Mode streng geteilt; Alle Menschen werden Brüder, Wo dein sanfter Flügel weilt.` dutch = `Wilhelmus van Nassouwe ben ik, van Duitsen bloed, den vaderland getrouwe blijf ik tot in den dood. Een Prinse van Oranje ben ik, vrij, onverveerd, den Koning van Hispanje heb ik altijd geëerd.` us = `O say can you see by the dawn's early light, What so proudly we hailed at the twilight's last gleaming, Whose broad stripes and bright stars through the perilous fight, O'er the ramparts we watched, were so gallantly streaming? And the rockets' red glare, the bombs bursting in air, Gave proof through the night that our flag was still there; O say does that star-spangled banner yet wave, O'er the land of the free and the home of the brave?` ) func TestConcurrentFrequency(t *testing.T) { seq := Frequency(euro + dutch + us) con := ConcurrentFrequency([]string{euro, dutch, us}) if !reflect.DeepEqual(con, seq) { t.Fatal("ConcurrentFrequency wrong result") } } func BenchmarkSequentialFrequency(b *testing.B) { for i := 0; i < b.N; i++ { Frequency(euro + dutch + us) } } func BenchmarkConcurrentFrequency(b *testing.B) { for i := 0; i < b.N; i++ { ConcurrentFrequency([]string{euro, dutch, us}) } }
Version data entries
112 entries across 112 versions & 1 rubygems