- Wczytaj plik o nazwie file, który zawiera jakieś zdania,
- Zamień pierwszą literę każdego wyrazu na wielką,
- Wypisz wynik na standardowe wyjście.
Ja utworzyłem sobie plik ważący 382 MB składający się z linii 'are you sure about this?'. Nie będę się długo nad tym rozwodził, wypiszę tylko najlepsze rozwiązanie jakie udało mu się znaleźć:
Czas: 0m46.615s
Autor przytacza rozwiązania w innych językach i niemal każde jest szybsze od tego w Haskellu. Weźmy na przykład jego rozwiązanie w C:
Czas: 0m4.027s
Postanowiłem spróbować pobić rozwiązanie autora w Haskellu. W rezultacie udało mi się stworzyć coś takiego:
Czas: 0m2.905s
Jak widać moje rozwiązanie okazało się szybsze od tego w C! Oczywiście rozwiązanie w C pewnie też można jeszcze poprawić ale to i tak nieźle. W każdym razie nie spodziewałem się takiego wyniku. Jeżeli do tej pory ktoś nie wierzył w szybkość programów napisanych w Haskellu to teraz chyba nie powinien mieć wątpliwości. Gorąco zachęcam do nauki!
Brak komentarzy:
Prześlij komentarz