小编def*_*hlt的帖子

解释C,Clojure,Python,Ruby,Scala等基准测试

放弃

我知道人工基准是邪恶的.他们只能针对非常具体的狭隘情况显示结果.我不认为一种语言比另一种语言更好,因为有些愚蠢的替补.但我想知道为什么结果如此不同.请在底部查看我的问题.

数学基准描述

基准测试是简单的数学计算,可以找到相差6的素数对(所谓的性感素数).例如,100以下的性感素数将是:(5 11) (7 13) (11 17) (13 19) (17 23) (23 29) (31 37) (37 43) (41 47) (47 53) (53 59) (61 67) (67 73) (73 79) (83 89) (97 103)

结果表

在表中:以秒为单位的计算时间 运行:所有除了因子在VirtualBox中运行(Debian unstable amd64 guest,Windows 7 x64主机)CPU:AMD A4-3305M

  Sexy primes up to:        10k      20k      30k      100k               

  Bash                    58.00   200.00     [*1]      [*1]

  C                        0.20     0.65     1.42     15.00

  Clojure1.4               4.12     8.32    16.00    137.93

  Clojure1.4 (optimized)   0.95     1.82     2.30     16.00

  Factor                    n/a      n/a    15.00 …
Run Code Online (Sandbox Code Playgroud)

ruby python benchmarking scala clojure

91
推荐指数
8
解决办法
2万
查看次数

Ruby有类似Python的列表推导吗?

Python有一个很好的功能:

print([j**2 for j in [2, 3, 4, 5]]) # => [4, 9, 16, 25]
Run Code Online (Sandbox Code Playgroud)

在Ruby中,它甚至更简单:

puts [2, 3, 4, 5].map{|j| j**2}
Run Code Online (Sandbox Code Playgroud)

但如果它是关于嵌套循环Python看起来更方便.

在Python中我们可以这样做:

digits = [1, 2, 3]
chars = ['a', 'b', 'c']    
print([str(d)+ch for d in digits for ch in chars if d >= 2 if ch == 'a'])    
# => ['2a', '3a']
Run Code Online (Sandbox Code Playgroud)

Ruby中的等价物是:

digits = [1, 2, 3]
chars = ['a', 'b', 'c']
list = []
digits.each do |d|
    chars.each do |ch|
        list.push d.to_s << ch if …
Run Code Online (Sandbox Code Playgroud)

ruby python programming-languages

10
推荐指数
1
解决办法
5715
查看次数

在Lua中,如何判断一个数字是否均匀分配到另一个数字?

在Lua中,如何判断一个数字是否均匀分配到另一个数字?即没有余数?我只是在寻找一个布尔值true或false.

12/6 = 2 (true)
18/6 = 3 (true)
20/6 = 3.(3) (false)
Run Code Online (Sandbox Code Playgroud)

math lua division coronasdk

8
推荐指数
1
解决办法
1万
查看次数

我可以在Android Java应用程序中使用Ruby或Python库吗?

假设我想为Android编写一个扑克应用程序.在Java中使用API​​是可以的.但是当涉及大量使用数组,集合,组合等时,Java对我来说是一个巨大的痛苦.在Ruby/Python 恕我直言中编写扑克AI代码要容易得多.

所以问题是:有没有办法在Java Android应用程序中使用Ruby或Python函数?它当然应该打包在.apk中.

更新:关于Ruboto:据我所知,从这个链接https://play.google.com/store/apps/details?id=org.ruboto.core&feature=more_from_developer#?t=W251bGwsMSwxLDEwMiwib3JnLnJ1Ym90by5jb3JlIl0.需要在设备上安装ruboto-core才能运行ruboto apps =(如果我要在Google Play上分享我的应用程序,那就不好了.

ruby python java android

0
推荐指数
1
解决办法
1657
查看次数