Jak sprawdzić jak długo trwało wyszukwianie?
Używam metody select
list.select { |w| w.split("").sort.join == signature}
Pod jakim hasłem tego szukać?
Jak sprawdzić jak długo trwało wyszukwianie?
Używam metody select
list.select { |w| w.split("").sort.join == signature}
Pod jakim hasłem tego szukać?
benchmark
chcę go potem wyświetlić na stronie, zaraz poszukam a może jakieś gemy do tego są?
To jest klasa wbudowana - wystarczy require ‘benchmark’.
nie wiem jakiego rodzaju to operacja, ale jeśli nie jakaś naprawdę czasochłonna (wtedy nie powinna być wykonywana bezpośrednio na stronie, a w jakimś zadaniu działającym w tle) - to nie ma sensu robić benchmarków, liczyć czasu działania itp - bo to zwyczajnie nie ma sensu. Jeśli jednak jesteś pewien, że trwa na tyle długo, że jest co liczyć, to istnieje bardzo prosty sposób na sprawdzenie jak długo ta funkcja się wykonuje:
@time = Time.now
#wykonaj długo trwającą funkcję
@time2 = Time.now
#czas wykonywania funkcji w ms:
@time2-@time
jest to aplikacja, która może wyszukiwać w słowniku z nawet 100 000 słów anagramów ma to być funkcja informacyjna
W tej sytuacji takie rozwiązanie nie ma sensu. Pomyśl o stworzeniu indeksów.
do wypowiedzi apohlla dodać mogę jeszcze jedynie, żebyś ten słownik trzymał w bazie - tak, żeby nie przyszło Ci do głowy trzymania słownika w pliku tekstowym.