Module: Sanscript::Benchmark
- Defined in:
- lib/sanscript/benchmark.rb
Overview
Benchmark/testing module.
Class Method Summary collapse
-
.detect! ⇒ Object
Runs benchmark-ips test on detection methods.
-
.transliterate! ⇒ Object
Runs benchmark-ips test on transliteration methods.
Class Method Details
.detect! ⇒ Object
Runs benchmark-ips test on detection methods.
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/sanscript/benchmark.rb', line 21 def detect! iast_string = "nānāśāstrasubhāṣitāmṛtarasaiḥ śrotrotsavaṃ kurvatāṃ yeṣāṃ yānti dināni paṇḍitajanavyāyāmakhinnātmanām teṣāṃ janma ca jīvitaṃ ca sukṛtaṃ tair eva bhūr bhūṣitā śeṣaih kiṃ paśuvad vivekarahitair bhūbhārabhūtair naraḥ" deva_string = "नानाशास्त्रसुभाषितामृतरसैः श्रोत्रोत्सवं कुर्वतां येषां यान्ति दिनानि पण्डितजनव्यायामखिन्नात्मनाम् तेषां जन्म च जीवितं च सुकृतं तैर् एव भूर् भूषिता शेषैह् किं पशुवद् विवेकरहितैर् भूभारभूतैर् नरः" slp1_string = "nAnASAstrasuBAzitAmftarasEH SrotrotsavaM kurvatAM yezAM yAnti dinAni paRqitajanavyAyAmaKinnAtmanAm tezAM janma ca jIvitaM ca sukftaM tEr eva BUr BUzitA SezEh kiM paSuvad vivekarahitEr BUBAraBUtEr naraH" hk_string = "nAnAzAstrasubhASitAmRtarasaiH zrotrotsavaM kurvatAM yeSAM yAnti dinAni paNDitajanavyAyAmakhinnAtmanAm teSAM janma ca jIvitaM ca sukRtaM tair eva bhUr bhUSitA zeSaih kiM pazuvad vivekarahitair bhUbhArabhUtair naraH" malayalam_string = "അ ആ ഇ ഈ ഉ ഊ ഋ ൠ ഌ ൡ എ ഏ ഐ ഒ ഓ ഔ" ::Benchmark.ips do |x| x.config(time: 5, warmup: 1) x.report("Detect Devanagari") do raise unless Sanscript::Detect.detect_scheme(deva_string) == :devanagari end x.report("Detect Malayalam") do raise unless Sanscript::Detect.detect_scheme(malayalam_string) == :malayalam end x.report("Detect IAST") do raise unless Sanscript::Detect.detect_scheme(iast_string) == :iast end x.report("Detect SLP1") do raise unless Sanscript::Detect.detect_scheme(slp1_string) == :slp1 end x.report("Detect HK") do raise unless Sanscript::Detect.detect_scheme(hk_string) == :hk end x.compare! end true end |
.transliterate! ⇒ Object
Runs benchmark-ips test on transliteration methods.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/sanscript/benchmark.rb', line 51 def transliterate! iast_string = "nānāśāstrasubhāṣitāmṛtarasaiḥ śrotrotsavaṃ kurvatāṃ yeṣāṃ yānti dināni paṇḍitajanavyāyāmakhinnātmanām teṣāṃ janma ca jīvitaṃ ca sukṛtaṃ tair eva bhūr bhūṣitā śeṣaih kiṃ paśuvad vivekarahitair bhūbhārabhūtair naraḥ" deva_string = "नानाशास्त्रसुभाषितामृतरसैः श्रोत्रोत्सवं कुर्वतां येषां यान्ति दिनानि पण्डितजनव्यायामखिन्नात्मनाम् तेषां जन्म च जीवितं च सुकृतं तैर् एव भूर् भूषिता शेषैह् किं पशुवद् विवेकरहितैर् भूभारभूतैर् नरः" slp1_string = "nAnASAstrasuBAzitAmftarasEH SrotrotsavaM kurvatAM yezAM yAnti dinAni paRqitajanavyAyAmaKinnAtmanAm tezAM janma ca jIvitaM ca sukftaM tEr eva BUr BUzitA SezEh kiM paSuvad vivekarahitEr BUBAraBUtEr naraH" ::Benchmark.ips do |x| x.config(time: 5, warmup: 2) x.report("IAST==>Devanagari") do raise unless Sanscript.transliterate(iast_string, :iast, :devanagari) == deva_string end x.report("IAST==>SLP1") do raise unless Sanscript.transliterate(iast_string, :iast, :slp1) == slp1_string end x.report("SLP1==>Devanagari") do raise unless Sanscript.transliterate(slp1_string, :slp1, :devanagari) == deva_string end x.report("SLP1==>IAST") do raise unless Sanscript.transliterate(slp1_string, :slp1, :iast) == iast_string end x.report("Devanagari==>SLP1") do raise unless Sanscript.transliterate(deva_string, :devanagari, :slp1) == slp1_string end x.report("Devanagari==>IAST") do raise unless Sanscript.transliterate(deva_string, :devanagari, :iast) == iast_string end x.compare! end true end |