小编Sco*_*ach的帖子

Clojure性能优化与等效Java

加快此功能的最佳简单方法是什么?根据Criterium,Java中的等效代码快了近50倍。

我敢打赌,如果我使用Java Array并减少装箱数量,这将大有帮助,但我想我会先在这里发布,看看是否有我犯的任何基本错误,可以很容易地解决。注意,我已经为Clojure指出了(double ...),它极大地提高了性能,但仍然没有Java那样。我还首先使用(double-array ...)而不是在函数内部使用(vec ...)转换了seq,这也提高了性能,但是再次,与Java没什么不同。

(defn cosine-similarity [ma mb]
  (let [va (vec ma), vb (vec mb)]
    (loop [p (double 0)
           na (double 0)
           nb (double 0)
           i (dec (count va))]
      (if (neg? i)
        (/ p (* (Math/sqrt na) (Math/sqrt nb)))
        (let [a (double (va i))
              b (double (vb i))]
          (recur (+ p (* a b))
                 (+ na (* a a))
                 (+ nb (* b b))
                 (dec i)))))))
Run Code Online (Sandbox Code Playgroud)

请注意,ma和mb都是序列,每个序列包含200个Double。在Java版本中,它们作为double [] args传递。

java performance clojure

2
推荐指数
1
解决办法
350
查看次数

javascript - 查询对象图?

鉴于这样的对象:

var obj = {
        first:{
            second:{
                third:'hi there'
            }
        }
    };
Run Code Online (Sandbox Code Playgroud)

像这样的关键"first.second.third"

如何获取嵌套对象的值"hi there"?

我想也许Array.reduce函数可能会有所帮助,但不确定.

javascript object

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

以格式化字符串获取接下来的4个月

获得以下内容的最佳方式是什么:

从今天的日期开始,返回一个可枚举的以下内容:

7月1日7月15日8月1日8月15日9月1日9月15日10月1日10月1日

应该考虑到如果它是年底的事情,那么它将在12月15日1月1日.

c#

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

高级.NET成员/角色提供程序

我需要一个具有以下功能的RoleProvider:

动态分配角色到任务
认证/授权IPrincipals基于他们有权访问的系统中的动态分配任务
报告显示当前登录的用户以及其他常见用法统计信息.

我很确定我将不得不自己动手,但我想确保我不会错过任何OSS甚至是MS.

我也在使用ASP.NET MVC,所以我的基本计划是编写一个自定义属性,如:[Authorize(Task=Tasks.DeleteClient)] 将它放在需要授权的方法上.我将根据用户在数据库中配置的任何设置,根据角色授权任务,而不是根据角色进行授权.

思考?

asp.net asp.net-mvc roleprovider sqlroleprovider

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