Skip to content

Instantly share code, notes, and snippets.

@werneckpaiva
Created May 9, 2020 21:35
Show Gist options
  • Save werneckpaiva/d9c29c238926c88b1b4bc3fb98288b7a to your computer and use it in GitHub Desktop.
Save werneckpaiva/d9c29c238926c88b1b4bc3fb98288b7a to your computer and use it in GitHub Desktop.
Comparison between lookup or match case
package switchlookup
import collection.JavaConversions._
object LookupTest {
val VALUES = List(
"GJMYQBNbtxUYhxInkbXB", "izZogfwZcWJOMnKfVmiR", "feCfeVlfbsNPskdOOxfa", "jgNqcbyRHVfycmFtFdpH", "vzqmtfbiwclduviXpTaw",
"cIQStdcUWiVuXTcGfdFK", "ppbiVAlciZhUjnowMCId", "AdckbDaDZXwZnwODhPnb", "goXpVCWiJMkaEnqSgSWU", "sjRgGBgfBXHUfnpNiwas",
"DACFkzLdmqmZZKcSXltF", "QpXOtUTUjXXSJqUKZIBW", "RbxYRleFYtnYUpQnIxlx", "AwQlmDfmJHLwxsQOUMvt", "cHvkUVGdOxrflgJBXgcu",
"BjpOXLeehKQuYkvjfRki", "MCNnfuXxfkXeDmVoniHh", "FHqqQPbIfLEmQECuYiWJ", "OOcUKDtOgExADxrTvyEQ", "NCHIYiquWmZkJBxWZfTz",
"erNUkjubDHXvyuYDOZsx", "zpYSDeWipxLxtqOMPgwl", "etSmqRDfsBceosktKEml", "LxkLhuPQylpeWvKtsRYz", "DTevhyPgJurmSjvQNYxr",
"iZwzkZFtjrPxniYmpXNy", "iWQzsdZKLOVnHVgePATz", "MKlDbjgusjJJscgrbTIT", "ihrZHBTevISfsjHnZZmm", "SKgMWHkXKYZVIYpYUpBD",
"NEIRWhnEuYkvbrOpjtND", "lrpHNPYrhkHGDRCXnXlg", "iFmHKOxsCbiVgmZgYDMX", "GPRtZwhoLUjEIouAkkgQ", "hdKaZCJoSPuAEKIXfnwO",
"kUcnFaXbRxlvdtsUiyyA", "tpmcmABZhcuHZLKtgCaI", "DWiunJSHXTOnucUaCjsi", "MqOPDWNNglKKkOVSIqPH", "cJhefNWuQpWMtriVqLJt",
"XXKVTrTcisYaIEyeMyRC", "mqWUtVHxFWpRdtYSWHOY", "VQbfOlCIiIqpwkPQRrjR", "ETjmqOzzhToGOTjIEuIg", "tgOacCUTLbLTxnAwUjvV",
"LkvwaNPqQWApPWLRQYyU", "IZuQxhQexxUBVLNTCBKo", "DNDAsSZOdtlSlANoURdz", "lFBDztLpuPcIyNRTFIkZ", "JEEKXxwwQKmCNpvQywfg",
"cvmGppZfZRyyByBQiWUM", "bXfvrSqiTwcZmcMoqdDi", "lXoKemUDJmZRMRhUiUrq", "LrjtCOseHZqGBDzBdPOv", "HvzAcNgnGmUBSOvkxCby",
"rsyJhrjvZnusCRpToPlI", "NsIQrVvgJwyllelDvXdR", "WYLhirsiqIrQdjspHTwn", "GkIRZNLSpNqJOFBadqsW", "pjqQtHCvLeTXvQFiSLTf",
"WcEeTjcBDfzAspcPYdMD", "iWmktomLlLmskMwAMwVT", "VSEOrSOdwFjoXVocmzHd", "pvaLxtimAYwgOWyFHhqj", "uSrbZpquEViGglVCQxKx",
"MtPnpYcpHgEtDumRXbkg", "tKGZZniYVkKaRttygpyk", "IfIcdyRaOoaMcyQNIEVe", "SZnDrGTGHjqZxfVTPoin", "oZiQvbrkKZgpVTxhRFHS",
"OXZJyjzKfZtGrQHxdqWF", "fHpVenZmNNHDSZwXixAW", "gBMGekfuWqdcJoOVzGsj", "XlezFEaTuQYLdjAfKeHR", "qteOutARrIWRloMsaxTM",
"wCDVkiGUjWQuQeLyHzWO", "yyGPqCUReUDYVjOSbWmd", "HgjihElLzayBEcvKmVoF", "tkJttSihKEogqmmIhqmW", "XUSIqbJAgMOaUjnkbRlm",
"LLcNozKQnxSGUyNgYjze", "FmHPlcYGHdaVDvoNgdCv", "xvzouYrsQLoEnPMqOjem", "cUpaFrbVvytSmyKopjDc", "tGpafILcpbXtIUfkRvPK",
"BOQErSecaqLoWDhyIpED", "OLmmggmeFOnwEvPHcyJj", "GvPZceiLJLFlDcpoOYTl", "fCxNTILtgUcrKOFvIHlD", "tOQhrNozUbtuAJmRWTOq",
"FWmWmTaDcMxDEwaWBEAl", "lmNIPvgGZMVmvNKLFtLz", "sUHoYUKJPvCBDkhuDkYJ", "sVbeOEqJTakJClIkPRTa", "THVhroIYOGUcszulZOwT",
"BcNSXcaaYaoJdsMzPfGp", "ZDynGhAaClNuZruKbqdP", "VpMrUWZBELseyYMCjwnH", "UAqeZhcmkUQFizWpJCiI", "vtBTiUkwHEViPlFhpdBN"
)
val MAP_SCALA: Map[String, String => String] = Map(
"GJMYQBNbtxUYhxInkbXB" -> ((v: String) => v + "\n\n" + "GPRtZwhoLUjEIouAkkgQ"),
"izZogfwZcWJOMnKfVmiR" -> ((v: String) => v + "\n\n" + "hdKaZCJoSPuAEKIXfnwO"),
"feCfeVlfbsNPskdOOxfa" -> ((v: String) => v + "\n\n" + "kUcnFaXbRxlvdtsUiyyA"),
"jgNqcbyRHVfycmFtFdpH" -> ((v: String) => v + "\n\n" + "tpmcmABZhcuHZLKtgCaI"),
"vzqmtfbiwclduviXpTaw" -> ((v: String) => v + "\n\n" + "DWiunJSHXTOnucUaCjsi"),
"cIQStdcUWiVuXTcGfdFK" -> ((v: String) => v + "\n\n" + "MqOPDWNNglKKkOVSIqPH"),
"ppbiVAlciZhUjnowMCId" -> ((v: String) => v + "\n\n" + "cJhefNWuQpWMtriVqLJt"),
"AdckbDaDZXwZnwODhPnb" -> ((v: String) => v + "\n\n" + "XXKVTrTcisYaIEyeMyRC"),
"goXpVCWiJMkaEnqSgSWU" -> ((v: String) => v + "\n\n" + "mqWUtVHxFWpRdtYSWHOY"),
"sjRgGBgfBXHUfnpNiwas" -> ((v: String) => v + "\n\n" + "VQbfOlCIiIqpwkPQRrjR"),
"DACFkzLdmqmZZKcSXltF" -> ((v: String) => v + "\n\n" + "ETjmqOzzhToGOTjIEuIg"),
"QpXOtUTUjXXSJqUKZIBW" -> ((v: String) => v + "\n\n" + "tgOacCUTLbLTxnAwUjvV"),
"RbxYRleFYtnYUpQnIxlx" -> ((v: String) => v + "\n\n" + "LkvwaNPqQWApPWLRQYyU"),
"AwQlmDfmJHLwxsQOUMvt" -> ((v: String) => v + "\n\n" + "IZuQxhQexxUBVLNTCBKo"),
"cHvkUVGdOxrflgJBXgcu" -> ((v: String) => v + "\n\n" + "DNDAsSZOdtlSlANoURdz"),
"BjpOXLeehKQuYkvjfRki" -> ((v: String) => v + "\n\n" + "lFBDztLpuPcIyNRTFIkZ"),
"MCNnfuXxfkXeDmVoniHh" -> ((v: String) => v + "\n\n" + "JEEKXxwwQKmCNpvQywfg"),
"FHqqQPbIfLEmQECuYiWJ" -> ((v: String) => v + "\n\n" + "cvmGppZfZRyyByBQiWUM"),
"OOcUKDtOgExADxrTvyEQ" -> ((v: String) => v + "\n\n" + "bXfvrSqiTwcZmcMoqdDi"),
"NCHIYiquWmZkJBxWZfTz" -> ((v: String) => v + "\n\n" + "lXoKemUDJmZRMRhUiUrq"),
"erNUkjubDHXvyuYDOZsx" -> ((v: String) => v + "\n\n" + "LrjtCOseHZqGBDzBdPOv"),
"zpYSDeWipxLxtqOMPgwl" -> ((v: String) => v + "\n\n" + "HvzAcNgnGmUBSOvkxCby"),
"etSmqRDfsBceosktKEml" -> ((v: String) => v + "\n\n" + "rsyJhrjvZnusCRpToPlI"),
"LxkLhuPQylpeWvKtsRYz" -> ((v: String) => v + "\n\n" + "NsIQrVvgJwyllelDvXdR"),
"DTevhyPgJurmSjvQNYxr" -> ((v: String) => v + "\n\n" + "WYLhirsiqIrQdjspHTwn"),
"iZwzkZFtjrPxniYmpXNy" -> ((v: String) => v + "\n\n" + "GkIRZNLSpNqJOFBadqsW"),
"iWQzsdZKLOVnHVgePATz" -> ((v: String) => v + "\n\n" + "pjqQtHCvLeTXvQFiSLTf"),
"MKlDbjgusjJJscgrbTIT" -> ((v: String) => v + "\n\n" + "WcEeTjcBDfzAspcPYdMD"),
"ihrZHBTevISfsjHnZZmm" -> ((v: String) => v + "\n\n" + "iWmktomLlLmskMwAMwVT"),
"SKgMWHkXKYZVIYpYUpBD" -> ((v: String) => v + "\n\n" + "VSEOrSOdwFjoXVocmzHd"),
"NEIRWhnEuYkvbrOpjtND" -> ((v: String) => v + "\n\n" + "GPRtZwhoLUjEIouAkkgQ"),
"lrpHNPYrhkHGDRCXnXlg" -> ((v: String) => v + "\n\n" + "hdKaZCJoSPuAEKIXfnwO"),
"iFmHKOxsCbiVgmZgYDMX" -> ((v: String) => v + "\n\n" + "kUcnFaXbRxlvdtsUiyyA"),
"GPRtZwhoLUjEIouAkkgQ" -> ((v: String) => v + "\n\n" + "tpmcmABZhcuHZLKtgCaI"),
"hdKaZCJoSPuAEKIXfnwO" -> ((v: String) => v + "\n\n" + "DWiunJSHXTOnucUaCjsi"),
"kUcnFaXbRxlvdtsUiyyA" -> ((v: String) => v + "\n\n" + "MqOPDWNNglKKkOVSIqPH"),
"tpmcmABZhcuHZLKtgCaI" -> ((v: String) => v + "\n\n" + "cJhefNWuQpWMtriVqLJt"),
"DWiunJSHXTOnucUaCjsi" -> ((v: String) => v + "\n\n" + "XXKVTrTcisYaIEyeMyRC"),
"MqOPDWNNglKKkOVSIqPH" -> ((v: String) => v + "\n\n" + "mqWUtVHxFWpRdtYSWHOY"),
"cJhefNWuQpWMtriVqLJt" -> ((v: String) => v + "\n\n" + "VQbfOlCIiIqpwkPQRrjR"),
"XXKVTrTcisYaIEyeMyRC" -> ((v: String) => v + "\n\n" + "ETjmqOzzhToGOTjIEuIg"),
"mqWUtVHxFWpRdtYSWHOY" -> ((v: String) => v + "\n\n" + "tgOacCUTLbLTxnAwUjvV"),
"VQbfOlCIiIqpwkPQRrjR" -> ((v: String) => v + "\n\n" + "LkvwaNPqQWApPWLRQYyU"),
"ETjmqOzzhToGOTjIEuIg" -> ((v: String) => v + "\n\n" + "IZuQxhQexxUBVLNTCBKo"),
"tgOacCUTLbLTxnAwUjvV" -> ((v: String) => v + "\n\n" + "DNDAsSZOdtlSlANoURdz"),
"LkvwaNPqQWApPWLRQYyU" -> ((v: String) => v + "\n\n" + "lFBDztLpuPcIyNRTFIkZ"),
"IZuQxhQexxUBVLNTCBKo" -> ((v: String) => v + "\n\n" + "JEEKXxwwQKmCNpvQywfg"),
"DNDAsSZOdtlSlANoURdz" -> ((v: String) => v + "\n\n" + "cvmGppZfZRyyByBQiWUM"),
"lFBDztLpuPcIyNRTFIkZ" -> ((v: String) => v + "\n\n" + "bXfvrSqiTwcZmcMoqdDi"),
"JEEKXxwwQKmCNpvQywfg" -> ((v: String) => v + "\n\n" + "lXoKemUDJmZRMRhUiUrq"),
"cvmGppZfZRyyByBQiWUM" -> ((v: String) => v + "\n\n" + "LrjtCOseHZqGBDzBdPOv"),
"bXfvrSqiTwcZmcMoqdDi" -> ((v: String) => v + "\n\n" + "HvzAcNgnGmUBSOvkxCby"),
"lXoKemUDJmZRMRhUiUrq" -> ((v: String) => v + "\n\n" + "rsyJhrjvZnusCRpToPlI"),
"LrjtCOseHZqGBDzBdPOv" -> ((v: String) => v + "\n\n" + "NsIQrVvgJwyllelDvXdR"),
"HvzAcNgnGmUBSOvkxCby" -> ((v: String) => v + "\n\n" + "WYLhirsiqIrQdjspHTwn"),
"rsyJhrjvZnusCRpToPlI" -> ((v: String) => v + "\n\n" + "GkIRZNLSpNqJOFBadqsW"),
"NsIQrVvgJwyllelDvXdR" -> ((v: String) => v + "\n\n" + "pjqQtHCvLeTXvQFiSLTf"),
"WYLhirsiqIrQdjspHTwn" -> ((v: String) => v + "\n\n" + "WcEeTjcBDfzAspcPYdMD"),
"GkIRZNLSpNqJOFBadqsW" -> ((v: String) => v + "\n\n" + "iWmktomLlLmskMwAMwVT"),
"pjqQtHCvLeTXvQFiSLTf" -> ((v: String) => v + "\n\n" + "VSEOrSOdwFjoXVocmzHd"),
"WcEeTjcBDfzAspcPYdMD" -> ((v: String) => v + "\n\n" + "GPRtZwhoLUjEIouAkkgQ"),
"iWmktomLlLmskMwAMwVT" -> ((v: String) => v + "\n\n" + "hdKaZCJoSPuAEKIXfnwO"),
"VSEOrSOdwFjoXVocmzHd" -> ((v: String) => v + "\n\n" + "kUcnFaXbRxlvdtsUiyyA"),
"pvaLxtimAYwgOWyFHhqj" -> ((v: String) => v + "\n\n" + "tpmcmABZhcuHZLKtgCaI"),
"uSrbZpquEViGglVCQxKx" -> ((v: String) => v + "\n\n" + "DWiunJSHXTOnucUaCjsi"),
"MtPnpYcpHgEtDumRXbkg" -> ((v: String) => v + "\n\n" + "MqOPDWNNglKKkOVSIqPH"),
"tKGZZniYVkKaRttygpyk" -> ((v: String) => v + "\n\n" + "cJhefNWuQpWMtriVqLJt"),
"IfIcdyRaOoaMcyQNIEVe" -> ((v: String) => v + "\n\n" + "XXKVTrTcisYaIEyeMyRC"),
"SZnDrGTGHjqZxfVTPoin" -> ((v: String) => v + "\n\n" + "mqWUtVHxFWpRdtYSWHOY"),
"oZiQvbrkKZgpVTxhRFHS" -> ((v: String) => v + "\n\n" + "VQbfOlCIiIqpwkPQRrjR"),
"OXZJyjzKfZtGrQHxdqWF" -> ((v: String) => v + "\n\n" + "ETjmqOzzhToGOTjIEuIg"),
"fHpVenZmNNHDSZwXixAW" -> ((v: String) => v + "\n\n" + "tgOacCUTLbLTxnAwUjvV"),
"gBMGekfuWqdcJoOVzGsj" -> ((v: String) => v + "\n\n" + "LkvwaNPqQWApPWLRQYyU"),
"XlezFEaTuQYLdjAfKeHR" -> ((v: String) => v + "\n\n" + "IZuQxhQexxUBVLNTCBKo"),
"qteOutARrIWRloMsaxTM" -> ((v: String) => v + "\n\n" + "DNDAsSZOdtlSlANoURdz"),
"wCDVkiGUjWQuQeLyHzWO" -> ((v: String) => v + "\n\n" + "lFBDztLpuPcIyNRTFIkZ"),
"yyGPqCUReUDYVjOSbWmd" -> ((v: String) => v + "\n\n" + "JEEKXxwwQKmCNpvQywfg"),
"HgjihElLzayBEcvKmVoF" -> ((v: String) => v + "\n\n" + "cvmGppZfZRyyByBQiWUM"),
"tkJttSihKEogqmmIhqmW" -> ((v: String) => v + "\n\n" + "bXfvrSqiTwcZmcMoqdDi"),
"XUSIqbJAgMOaUjnkbRlm" -> ((v: String) => v + "\n\n" + "lXoKemUDJmZRMRhUiUrq"),
"LLcNozKQnxSGUyNgYjze" -> ((v: String) => v + "\n\n" + "LrjtCOseHZqGBDzBdPOv"),
"FmHPlcYGHdaVDvoNgdCv" -> ((v: String) => v + "\n\n" + "HvzAcNgnGmUBSOvkxCby"),
"xvzouYrsQLoEnPMqOjem" -> ((v: String) => v + "\n\n" + "rsyJhrjvZnusCRpToPlI"),
"cUpaFrbVvytSmyKopjDc" -> ((v: String) => v + "\n\n" + "NsIQrVvgJwyllelDvXdR"),
"tGpafILcpbXtIUfkRvPK" -> ((v: String) => v + "\n\n" + "WYLhirsiqIrQdjspHTwn"),
"BOQErSecaqLoWDhyIpED" -> ((v: String) => v + "\n\n" + "GkIRZNLSpNqJOFBadqsW"),
"OLmmggmeFOnwEvPHcyJj" -> ((v: String) => v + "\n\n" + "pjqQtHCvLeTXvQFiSLTf"),
"GvPZceiLJLFlDcpoOYTl" -> ((v: String) => v + "\n\n" + "WcEeTjcBDfzAspcPYdMD"),
"fCxNTILtgUcrKOFvIHlD" -> ((v: String) => v + "\n\n" + "iWmktomLlLmskMwAMwVT"),
"tOQhrNozUbtuAJmRWTOq" -> ((v: String) => v + "\n\n" + "VSEOrSOdwFjoXVocmzHd"),
"FWmWmTaDcMxDEwaWBEAl" -> ((v: String) => v + "\n\n" + "GPRtZwhoLUjEIouAkkgQ"),
"lmNIPvgGZMVmvNKLFtLz" -> ((v: String) => v + "\n\n" + "hdKaZCJoSPuAEKIXfnwO"),
"sUHoYUKJPvCBDkhuDkYJ" -> ((v: String) => v + "\n\n" + "kUcnFaXbRxlvdtsUiyyA"),
"sVbeOEqJTakJClIkPRTa" -> ((v: String) => v + "\n\n" + "tpmcmABZhcuHZLKtgCaI"),
"THVhroIYOGUcszulZOwT" -> ((v: String) => v + "\n\n" + "DWiunJSHXTOnucUaCjsi"),
"BcNSXcaaYaoJdsMzPfGp" -> ((v: String) => v + "\n\n" + "MqOPDWNNglKKkOVSIqPH"),
"ZDynGhAaClNuZruKbqdP" -> ((v: String) => v + "\n\n" + "cJhefNWuQpWMtriVqLJt"),
"VpMrUWZBELseyYMCjwnH" -> ((v: String) => v + "\n\n" + "XXKVTrTcisYaIEyeMyRC"),
"UAqeZhcmkUQFizWpJCiI" -> ((v: String) => v + "\n\n" + "mqWUtVHxFWpRdtYSWHOY"),
"vtBTiUkwHEViPlFhpdBN" -> ((v: String) => v + "\n\n" + "VQbfOlCIiIqpwkPQRrjR"),
)
val MAP_JAVA: java.util.Map[String, String => String] = mapAsJavaMap(MAP_SCALA)
var X:String = ""
def main(args:Array[String]): Unit = {
benchmark("Lookup Scala", testLookupScala _)
benchmark("Lookup Java ", testLookupScala _)
benchmark("Switch ", testLookupScala _)
}
def benchmark(name:String, f:()=>String): Unit = {
val startTime = System.nanoTime()
(1 to 100000).foreach{_=>
X = f()
}
val estimatedTime = System.nanoTime() - startTime
println("Estimated time for " + name + ": " + estimatedTime)
}
def testSwitch(): String = {
val value = VALUES((Math.random() * 4).toInt)
val f: String => String = value match {
case "GJMYQBNbtxUYhxInkbXB" => ((v: String) => v + "\n\n" + "GPRtZwhoLUjEIouAkkgQ")
case "izZogfwZcWJOMnKfVmiR" => ((v: String) => v + "\n\n" + "hdKaZCJoSPuAEKIXfnwO")
case "feCfeVlfbsNPskdOOxfa" => ((v: String) => v + "\n\n" + "kUcnFaXbRxlvdtsUiyyA")
case "jgNqcbyRHVfycmFtFdpH" => ((v: String) => v + "\n\n" + "tpmcmABZhcuHZLKtgCaI")
case "vzqmtfbiwclduviXpTaw" => ((v: String) => v + "\n\n" + "DWiunJSHXTOnucUaCjsi")
case "cIQStdcUWiVuXTcGfdFK" => ((v: String) => v + "\n\n" + "MqOPDWNNglKKkOVSIqPH")
case "ppbiVAlciZhUjnowMCId" => ((v: String) => v + "\n\n" + "cJhefNWuQpWMtriVqLJt")
case "AdckbDaDZXwZnwODhPnb" => ((v: String) => v + "\n\n" + "XXKVTrTcisYaIEyeMyRC")
case "goXpVCWiJMkaEnqSgSWU" => ((v: String) => v + "\n\n" + "mqWUtVHxFWpRdtYSWHOY")
case "sjRgGBgfBXHUfnpNiwas" => ((v: String) => v + "\n\n" + "VQbfOlCIiIqpwkPQRrjR")
case "DACFkzLdmqmZZKcSXltF" => ((v: String) => v + "\n\n" + "ETjmqOzzhToGOTjIEuIg")
case "QpXOtUTUjXXSJqUKZIBW" => ((v: String) => v + "\n\n" + "tgOacCUTLbLTxnAwUjvV")
case "RbxYRleFYtnYUpQnIxlx" => ((v: String) => v + "\n\n" + "LkvwaNPqQWApPWLRQYyU")
case "AwQlmDfmJHLwxsQOUMvt" => ((v: String) => v + "\n\n" + "IZuQxhQexxUBVLNTCBKo")
case "cHvkUVGdOxrflgJBXgcu" => ((v: String) => v + "\n\n" + "DNDAsSZOdtlSlANoURdz")
case "BjpOXLeehKQuYkvjfRki" => ((v: String) => v + "\n\n" + "lFBDztLpuPcIyNRTFIkZ")
case "MCNnfuXxfkXeDmVoniHh" => ((v: String) => v + "\n\n" + "JEEKXxwwQKmCNpvQywfg")
case "FHqqQPbIfLEmQECuYiWJ" => ((v: String) => v + "\n\n" + "cvmGppZfZRyyByBQiWUM")
case "OOcUKDtOgExADxrTvyEQ" => ((v: String) => v + "\n\n" + "bXfvrSqiTwcZmcMoqdDi")
case "NCHIYiquWmZkJBxWZfTz" => ((v: String) => v + "\n\n" + "lXoKemUDJmZRMRhUiUrq")
case "erNUkjubDHXvyuYDOZsx" => ((v: String) => v + "\n\n" + "LrjtCOseHZqGBDzBdPOv")
case "zpYSDeWipxLxtqOMPgwl" => ((v: String) => v + "\n\n" + "HvzAcNgnGmUBSOvkxCby")
case "etSmqRDfsBceosktKEml" => ((v: String) => v + "\n\n" + "rsyJhrjvZnusCRpToPlI")
case "LxkLhuPQylpeWvKtsRYz" => ((v: String) => v + "\n\n" + "NsIQrVvgJwyllelDvXdR")
case "DTevhyPgJurmSjvQNYxr" => ((v: String) => v + "\n\n" + "WYLhirsiqIrQdjspHTwn")
case "iZwzkZFtjrPxniYmpXNy" => ((v: String) => v + "\n\n" + "GkIRZNLSpNqJOFBadqsW")
case "iWQzsdZKLOVnHVgePATz" => ((v: String) => v + "\n\n" + "pjqQtHCvLeTXvQFiSLTf")
case "MKlDbjgusjJJscgrbTIT" => ((v: String) => v + "\n\n" + "WcEeTjcBDfzAspcPYdMD")
case "ihrZHBTevISfsjHnZZmm" => ((v: String) => v + "\n\n" + "iWmktomLlLmskMwAMwVT")
case "SKgMWHkXKYZVIYpYUpBD" => ((v: String) => v + "\n\n" + "VSEOrSOdwFjoXVocmzHd")
case "NEIRWhnEuYkvbrOpjtND" => ((v: String) => v + "\n\n" + "GPRtZwhoLUjEIouAkkgQ")
case "lrpHNPYrhkHGDRCXnXlg" => ((v: String) => v + "\n\n" + "hdKaZCJoSPuAEKIXfnwO")
case "iFmHKOxsCbiVgmZgYDMX" => ((v: String) => v + "\n\n" + "kUcnFaXbRxlvdtsUiyyA")
case "GPRtZwhoLUjEIouAkkgQ" => ((v: String) => v + "\n\n" + "tpmcmABZhcuHZLKtgCaI")
case "hdKaZCJoSPuAEKIXfnwO" => ((v: String) => v + "\n\n" + "DWiunJSHXTOnucUaCjsi")
case "kUcnFaXbRxlvdtsUiyyA" => ((v: String) => v + "\n\n" + "MqOPDWNNglKKkOVSIqPH")
case "tpmcmABZhcuHZLKtgCaI" => ((v: String) => v + "\n\n" + "cJhefNWuQpWMtriVqLJt")
case "DWiunJSHXTOnucUaCjsi" => ((v: String) => v + "\n\n" + "XXKVTrTcisYaIEyeMyRC")
case "MqOPDWNNglKKkOVSIqPH" => ((v: String) => v + "\n\n" + "mqWUtVHxFWpRdtYSWHOY")
case "cJhefNWuQpWMtriVqLJt" => ((v: String) => v + "\n\n" + "VQbfOlCIiIqpwkPQRrjR")
case "XXKVTrTcisYaIEyeMyRC" => ((v: String) => v + "\n\n" + "ETjmqOzzhToGOTjIEuIg")
case "mqWUtVHxFWpRdtYSWHOY" => ((v: String) => v + "\n\n" + "tgOacCUTLbLTxnAwUjvV")
case "VQbfOlCIiIqpwkPQRrjR" => ((v: String) => v + "\n\n" + "LkvwaNPqQWApPWLRQYyU")
case "ETjmqOzzhToGOTjIEuIg" => ((v: String) => v + "\n\n" + "IZuQxhQexxUBVLNTCBKo")
case "tgOacCUTLbLTxnAwUjvV" => ((v: String) => v + "\n\n" + "DNDAsSZOdtlSlANoURdz")
case "LkvwaNPqQWApPWLRQYyU" => ((v: String) => v + "\n\n" + "lFBDztLpuPcIyNRTFIkZ")
case "IZuQxhQexxUBVLNTCBKo" => ((v: String) => v + "\n\n" + "JEEKXxwwQKmCNpvQywfg")
case "DNDAsSZOdtlSlANoURdz" => ((v: String) => v + "\n\n" + "cvmGppZfZRyyByBQiWUM")
case "lFBDztLpuPcIyNRTFIkZ" => ((v: String) => v + "\n\n" + "bXfvrSqiTwcZmcMoqdDi")
case "JEEKXxwwQKmCNpvQywfg" => ((v: String) => v + "\n\n" + "lXoKemUDJmZRMRhUiUrq")
case "cvmGppZfZRyyByBQiWUM" => ((v: String) => v + "\n\n" + "LrjtCOseHZqGBDzBdPOv")
case "bXfvrSqiTwcZmcMoqdDi" => ((v: String) => v + "\n\n" + "HvzAcNgnGmUBSOvkxCby")
case "lXoKemUDJmZRMRhUiUrq" => ((v: String) => v + "\n\n" + "rsyJhrjvZnusCRpToPlI")
case "LrjtCOseHZqGBDzBdPOv" => ((v: String) => v + "\n\n" + "NsIQrVvgJwyllelDvXdR")
case "HvzAcNgnGmUBSOvkxCby" => ((v: String) => v + "\n\n" + "WYLhirsiqIrQdjspHTwn")
case "rsyJhrjvZnusCRpToPlI" => ((v: String) => v + "\n\n" + "GkIRZNLSpNqJOFBadqsW")
case "NsIQrVvgJwyllelDvXdR" => ((v: String) => v + "\n\n" + "pjqQtHCvLeTXvQFiSLTf")
case "WYLhirsiqIrQdjspHTwn" => ((v: String) => v + "\n\n" + "WcEeTjcBDfzAspcPYdMD")
case "GkIRZNLSpNqJOFBadqsW" => ((v: String) => v + "\n\n" + "iWmktomLlLmskMwAMwVT")
case "pjqQtHCvLeTXvQFiSLTf" => ((v: String) => v + "\n\n" + "VSEOrSOdwFjoXVocmzHd")
case "WcEeTjcBDfzAspcPYdMD" => ((v: String) => v + "\n\n" + "GPRtZwhoLUjEIouAkkgQ")
case "iWmktomLlLmskMwAMwVT" => ((v: String) => v + "\n\n" + "hdKaZCJoSPuAEKIXfnwO")
case "VSEOrSOdwFjoXVocmzHd" => ((v: String) => v + "\n\n" + "kUcnFaXbRxlvdtsUiyyA")
case "pvaLxtimAYwgOWyFHhqj" => ((v: String) => v + "\n\n" + "tpmcmABZhcuHZLKtgCaI")
case "uSrbZpquEViGglVCQxKx" => ((v: String) => v + "\n\n" + "DWiunJSHXTOnucUaCjsi")
case "MtPnpYcpHgEtDumRXbkg" => ((v: String) => v + "\n\n" + "MqOPDWNNglKKkOVSIqPH")
case "tKGZZniYVkKaRttygpyk" => ((v: String) => v + "\n\n" + "cJhefNWuQpWMtriVqLJt")
case "IfIcdyRaOoaMcyQNIEVe" => ((v: String) => v + "\n\n" + "XXKVTrTcisYaIEyeMyRC")
case "SZnDrGTGHjqZxfVTPoin" => ((v: String) => v + "\n\n" + "mqWUtVHxFWpRdtYSWHOY")
case "oZiQvbrkKZgpVTxhRFHS" => ((v: String) => v + "\n\n" + "VQbfOlCIiIqpwkPQRrjR")
case "OXZJyjzKfZtGrQHxdqWF" => ((v: String) => v + "\n\n" + "ETjmqOzzhToGOTjIEuIg")
case "fHpVenZmNNHDSZwXixAW" => ((v: String) => v + "\n\n" + "tgOacCUTLbLTxnAwUjvV")
case "gBMGekfuWqdcJoOVzGsj" => ((v: String) => v + "\n\n" + "LkvwaNPqQWApPWLRQYyU")
case "XlezFEaTuQYLdjAfKeHR" => ((v: String) => v + "\n\n" + "IZuQxhQexxUBVLNTCBKo")
case "qteOutARrIWRloMsaxTM" => ((v: String) => v + "\n\n" + "DNDAsSZOdtlSlANoURdz")
case "wCDVkiGUjWQuQeLyHzWO" => ((v: String) => v + "\n\n" + "lFBDztLpuPcIyNRTFIkZ")
case "yyGPqCUReUDYVjOSbWmd" => ((v: String) => v + "\n\n" + "JEEKXxwwQKmCNpvQywfg")
case "HgjihElLzayBEcvKmVoF" => ((v: String) => v + "\n\n" + "cvmGppZfZRyyByBQiWUM")
case "tkJttSihKEogqmmIhqmW" => ((v: String) => v + "\n\n" + "bXfvrSqiTwcZmcMoqdDi")
case "XUSIqbJAgMOaUjnkbRlm" => ((v: String) => v + "\n\n" + "lXoKemUDJmZRMRhUiUrq")
case "LLcNozKQnxSGUyNgYjze" => ((v: String) => v + "\n\n" + "LrjtCOseHZqGBDzBdPOv")
case "FmHPlcYGHdaVDvoNgdCv" => ((v: String) => v + "\n\n" + "HvzAcNgnGmUBSOvkxCby")
case "xvzouYrsQLoEnPMqOjem" => ((v: String) => v + "\n\n" + "rsyJhrjvZnusCRpToPlI")
case "cUpaFrbVvytSmyKopjDc" => ((v: String) => v + "\n\n" + "NsIQrVvgJwyllelDvXdR")
case "tGpafILcpbXtIUfkRvPK" => ((v: String) => v + "\n\n" + "WYLhirsiqIrQdjspHTwn")
case "BOQErSecaqLoWDhyIpED" => ((v: String) => v + "\n\n" + "GkIRZNLSpNqJOFBadqsW")
case "OLmmggmeFOnwEvPHcyJj" => ((v: String) => v + "\n\n" + "pjqQtHCvLeTXvQFiSLTf")
case "GvPZceiLJLFlDcpoOYTl" => ((v: String) => v + "\n\n" + "WcEeTjcBDfzAspcPYdMD")
case "fCxNTILtgUcrKOFvIHlD" => ((v: String) => v + "\n\n" + "iWmktomLlLmskMwAMwVT")
case "tOQhrNozUbtuAJmRWTOq" => ((v: String) => v + "\n\n" + "VSEOrSOdwFjoXVocmzHd")
case "FWmWmTaDcMxDEwaWBEAl" => ((v: String) => v + "\n\n" + "GPRtZwhoLUjEIouAkkgQ")
case "lmNIPvgGZMVmvNKLFtLz" => ((v: String) => v + "\n\n" + "hdKaZCJoSPuAEKIXfnwO")
case "sUHoYUKJPvCBDkhuDkYJ" => ((v: String) => v + "\n\n" + "kUcnFaXbRxlvdtsUiyyA")
case "sVbeOEqJTakJClIkPRTa" => ((v: String) => v + "\n\n" + "tpmcmABZhcuHZLKtgCaI")
case "THVhroIYOGUcszulZOwT" => ((v: String) => v + "\n\n" + "DWiunJSHXTOnucUaCjsi")
case "BcNSXcaaYaoJdsMzPfGp" => ((v: String) => v + "\n\n" + "MqOPDWNNglKKkOVSIqPH")
case "ZDynGhAaClNuZruKbqdP" => ((v: String) => v + "\n\n" + "cJhefNWuQpWMtriVqLJt")
case "VpMrUWZBELseyYMCjwnH" => ((v: String) => v + "\n\n" + "XXKVTrTcisYaIEyeMyRC")
case "UAqeZhcmkUQFizWpJCiI" => ((v: String) => v + "\n\n" + "mqWUtVHxFWpRdtYSWHOY")
case "vtBTiUkwHEViPlFhpdBN" => ((v: String) => v + "\n\n" + "VQbfOlCIiIqpwkPQRrjR")
}
f(value)
}
def testLookupJava(): String = {
val value = VALUES((Math.random() * VALUES.length).toInt)
MAP_JAVA.get(value)(value)
}
def testLookupScala(): String = {
val value = VALUES((Math.random() * VALUES.length).toInt)
MAP_SCALA.get(value).get(value)
}
}
@werneckpaiva
Copy link
Author

Result:
Estimated time for Lookup Scala: 94239205
Estimated time for Lookup Java : 63981628
Estimated time for Switch : 53147484

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment