Module: Sanscript::Benchmark

Defined in:
lib/sanscript/benchmark.rb

Class Method Summary collapse

Class Method Details

.detection!Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/sanscript/benchmark.rb', line 11

def detection!
  n = 100_000
  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 = "नानाशास्त्रसुभाषितामृतरसैः श्रोत्रोत्सवं कुर्वतां येषां यान्ति दिनानि पण्डितजनव्यायामखिन्नात्मनाम् तेषां जन्म च जीवितं च सुकृतं तैर् एव भूर् भूषिता शेषैह् किं पशुवद् विवेकरहितैर् भूभारभूतैर् नरः"

  ::Benchmark.bmbm(18) do |x|
    x.report("Detect IAST") do
      n.times { raise unless Sanscript.detect(iast_string) == :iast }
    end
    x.report("Detect Devanagari") do
      n.times { raise unless Sanscript.detect(deva_string) == :devanagari }
    end
  end
end

.transliteration!Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/sanscript/benchmark.rb', line 26

def transliteration!
  n = 5_000
  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 = "नानाशास्त्रसुभाषितामृतरसैः श्रोत्रोत्सवं कुर्वतां येषां यान्ति दिनानि पण्डितजनव्यायामखिन्नात्मनाम् तेषां जन्म च जीवितं च सुकृतं तैर् एव भूर् भूषिता शेषैह् किं पशुवद् विवेकरहितैर् भूभारभूतैर् नरः"
  ::Benchmark.bmbm(18) do |x|
    x.report("IAST**>Devanagari") do
      n.times { Sanscript.transliterate(iast_string, :devanagari) }
    end
    x.report("IAST==>Devanagari") do
      n.times { Sanscript.transliterate(iast_string, :iast, :devanagari) }
    end
    x.report("IAST**>SLP1") do
      n.times { Sanscript.transliterate(iast_string, :slp1) }
    end
    x.report("IAST==>SLP1") do
      n.times { Sanscript.transliterate(iast_string, :iast, :slp1) }
    end
    x.report("Devanagari**>SLP1") do
      n.times { Sanscript.transliterate(deva_string, :slp1) }
    end
    x.report("Devanagari**>IAST") do
      n.times { Sanscript.transliterate(deva_string, :iast) }
    end
  end
end