小编kme*_*lvn的帖子

nVidia Quadro和Geforce卡之间的区别?

我不是3D或HPC人员,但我的任务是对可能的HPC应用程序进行一些研究.读取nVidia Quadro和Geforce卡之间的基准,比较和规格,似乎对于类似的代卡:

  • Quadro是Geforce价格的2倍-3倍
  • 硬件方面,差异并不是那么大
  • 在基准测试中(3ds Max,Maya和其他一些)Quadro显卡比Geforce显卡要好得多

有谁知道可以导致这种更好性能的确切和精确的技术差异是什么?我的推测(以及通常可以在网上阅读的内容),因为硬件具有相似的规格,所以它都在驱动程序中.如果是这样的话,Quadro驱动程序提供了哪些功能,3ds Max和其他程序员可以利用这些功能?

当然,我对营销说话不感兴趣:更高的商业价值,专业导向,更好的支持,更好的质量保证等等......

hardware hpc nvidia

72
推荐指数
4
解决办法
23万
查看次数

因吞咽异常而停止扭曲

有没有办法阻止Twisted reactor自动吞咽异常(例如NameError)?我只是想让它停止执行,并在控制台中给我一个堆栈跟踪?

甚至有关于它的FAQ 问题,但至少可以说,它不是很有用.

目前,在每个错误中我都这样做:

def errback(value):
    import traceback
    trace = traceback.format_exc()
    # rest of the errback...
Run Code Online (Sandbox Code Playgroud)

但这感觉很笨重,还有更好的方法吗?

更新

为了回应Jean-Paul的回答,我尝试运行以下代码(使用Twisted 11.1和12.0):

from twisted.internet.endpoints import TCP4ClientEndpoint
from twisted.internet import protocol, reactor

class Broken(protocol.Protocol):
    def connectionMade(self):
        buggy_user_code()

e = TCP4ClientEndpoint(reactor, "127.0.0.1", 22) 
f = protocol.Factory()
f.protocol = Broken
e.connect(f)
reactor.run()
Run Code Online (Sandbox Code Playgroud)

运行后,它只是挂在那里,所以我必须按Ctrl-C它:

> python2.7 tx-example.py
^CUnhandled error in Deferred:
Unhandled Error
Traceback (most recent call last):
Failure: twisted.internet.error.ConnectionRefusedError: Connection was refused by other side: 111: Connection refused.
Run Code Online (Sandbox Code Playgroud)

python twisted

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

在Twisted中,processExited和processEnded之间的区别是什么?

正如标题所说,ProcessProtocol类上的这两个函数之间有什么区别?如果应该使用一个文件而不是另一个文档,那么文档有点稀疏?

最好是,我正在寻找一些用例来证明这一点.

twisted

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

AngularJS承诺从服务返回时不会触发

可能重复:
angularjs - 承诺永远不会在控制器中解决

我在AngularJS服务中包装一个慢的WebSockets服务器,然后从我的控制器调用该服务.如果我将回调链接到回调到回调,一切正常,任何UI异步更新.

当我尝试用来$q.defer()清理那些混乱的回调时,似乎我的延迟永远不会被调用.我熟悉Python扭曲的延迟概念,所以我认为概念上一切都应该有效 - 但事实并非如此.

这是我能想到的最短的例子,使用setTimeout函数模拟慢速WebSockets服务器.

<!doctype html>

<html ng-app="beta">
    <head>
        <title>Beta</title>
        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.4/angular.min.js"></script>
        <script>
            var beta = angular.module('beta', []);

            var BetaCtrl = function ($scope, betaServ) {
                $scope.button = function () {
                    serv_result = betaServ.slow();
                    console.log(serv_result);

                    serv_result.then(function (result) {
                        console.log('callback finished');
                    });
                }
            }

            beta.service('betaServ', function($q) {
                this.slow = function () {
                    d = $q.defer()
                    setTimeout(function () {
                        console.log('before resolve');
                        d.resolve();
                        console.log('after resolve');
                    }, 2000);
                    return d.promise;
                }
            });
        </script>
    </head>
    <body>
        <div ng-controller="BetaCtrl">
            <button …
Run Code Online (Sandbox Code Playgroud)

future deferred angularjs

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

同时插入和扩展列表?

有没有更好的方法同时插入和扩展列表?这是我目前正在做的一个丑陋的例子.(假设我想在'2'元素之后插入'2.4'和'2.6'):

>>> a = ['1', '2', '3', '4']
>>> b = a[:a.index('2')+1] + ['2.4', '2.6'] + a[a.index('2'):]
>>> b
<<< ['1', '2', '2.4', '2.6', '3', '4']
Run Code Online (Sandbox Code Playgroud)

python

6
推荐指数
2
解决办法
1398
查看次数

Clojure无法使用静态初始值设定项导入JavaFX类

我正在玩Clojure(1.6)和JavaFX 8,一开始我遇到了问题.例如,这个非常简单的代码失败了:

(ns xxyyzz.core)

(gen-class :name "xxyyzz.core.App"
           :extends javafx.application.Application
           :prefix "app-")

(defn app-start [app stage]
  (let [button (javafx.scene.control.Button.)]))

(defn launch []
  (javafx.application.Application/launch xxyyzz.core.App (into-array String [])))

(defn -main []
  (launch))
Run Code Online (Sandbox Code Playgroud)

这是堆栈跟踪的最后一部分似乎相关:

Caused by: java.lang.ExceptionInInitializerError
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:340)
        at clojure.lang.RT.classForName(RT.java:2070)
        at clojure.lang.Compiler$HostExpr.maybeClass(Compiler.java:969)
        at clojure.lang.Compiler$HostExpr.access$400(Compiler.java:747)
        at clojure.lang.Compiler$NewExpr$Parser.parse(Compiler.java:2494)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6560)
        ... 48 more
Caused by: java.lang.IllegalStateException: Toolkit not initialized
        at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:276)
        at com.sun.javafx.application.PlatformImpl.runLater(PlatformImpl.java:271)
        at com.sun.javafx.application.PlatformImpl.setPlatformUserAgentStylesheet(PlatformImpl.java:562)
        at com.sun.javafx.application.PlatformImpl.setDefaultPlatformUserAgentStylesheet(PlatformImpl.java:524)
        at javafx.scene.control.Control.<clinit>(Control.java:81)
        ... 55 more
Run Code Online (Sandbox Code Playgroud)

我根本不会说Java,但研究它似乎问题在于Clojure及其导入Java类的方式.如果我理解正确,在导入时它会运行类静态初始化程序,并且对于某些Button崩溃的JavaFX类(在我的例子中).

猜猜我有两个问题:我对这个错误的理解是否正确?第二,有办法以某种方式解决这个问题吗?我尝试在(ns)声明中提取函数内部的导入,但它仍然不起作用.

如果没有Clojure修复,是否可以通过一些额外的Java代码修复?

欢迎任何提示和指示!

javafx clojure javafx-8

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

具有自动调整列数的流体网格

我想知道CSS是否可以实现以下功能:

  • DIV网格(以任意数量的列表示),N(可以是5到20,甚至更多)
  • 网格应该是流动的,也就是说每个DIV都会随着浏览器宽度的变化而收缩和扩展,以便DIV占据浏览器宽度的100%
  • 在特定浏览器宽度下,网格切换到N-1列布局,即丢失一列,并且DIV再次扩展以适合浏览器宽度
  • 该过程应重复进行,直到布局变为基于单列,并且DIV宽度再次变化

我说起来并不难,但是它的行为应与本页面中的图像相似,但应该一直向下到一列,而不是立即从三列跳到六列。

我知道我可以使用Javascript来完成此操作,就像在上面的链接中一样,可以通过@media查询(使用很多手动调整列宽来完成),但是我想知道是否有办法仅在CSS中做到这一点,并让浏览器为我完成工作?

谢谢。

css fluid-layout

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

使用 ANTLR 解析非结构化文本

例如,假设我想用单个标记元素 double star 解析大部分非结构化文本**。这是我的 ANTLR 语法:

text : (plain | tag)+ ;
plain : ~(TAG) ;

tag : TAG tag_inner TAG ;
tag_inner : ~(TAG) ;

TAG : '**' ;
TEXT : ('a'..'z' | ' ' | '.')+ ;
Run Code Online (Sandbox Code Playgroud)

如果我解析的文本在语法上是正确的,那么这个语法就可以正常工作,也就是说,每个开头**都有一个结尾**。如果有奇数个**s,则 ANTLR 会抱怨并出错。

如何解决这个问题,以便 ANTLR 会提前寻找关闭的双星,如果没有人将那颗孤独的双星视为纯文本?我很确定 ANTLR 可以做到这一点,并且句法/语义谓词就是答案,但是在我们花了大量时间阅读文档之后,我仍然无法解决。

parsing antlr

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

Clojure core.match在课堂上无法比拟

当评估这个超级简单的core.match表达式时,我得到:

(match [(class "3.14")]
       [Integer] "Integer"
       [Double] "Doubler")
; => "Integer"
Run Code Online (Sandbox Code Playgroud)

这怎么可能是正确的,我错过了关于core.match的基本内容吗?在此表单上执行macroexpand-1可以让我:

=> (clojure.core/let [ocr-2751 (class "3.14")] (clojure.core/let [Integer ocr-2751] "Integer"))
Run Code Online (Sandbox Code Playgroud)

任何指针赞赏.

clojure core.match

4
推荐指数
2
解决办法
209
查看次数

为Python包创建别名?

我有一个目录,让我们把它称为Storage包含笨拙名字的包mypackage-xxyyzzww,当然Storage是我的PYTHONPATH.由于包具有很长的不可知名称,因此所有包都符号链接到更友好的名称,例如mypackage.

现在,我不想依靠文件系统的符号链接要做到这一点,而不是我试图与周围碴sys.pathsys.modules.目前我正在做这样的事情:

import imp
imp.load_package('mypackage', 'Storage/mypackage-xxyyzzww')
Run Code Online (Sandbox Code Playgroud)

以这种方式做事有多糟糕,未来有可能会破裂吗?有趣的是,imp.load_package文档中甚至没有提及函数.

编辑:除了不依赖于符号链接,我不能再使用PYTHONPATH变量了.

python

3
推荐指数
2
解决办法
4892
查看次数

Leiningen为什么会陷入顶级空洞的未来?

这是一个非常简单的Leiningen项目示例lein new app hanging,仅使用两个文件project.clj:

(defproject hanging "0.1.0-SNAPSHOT"
  :dependencies [[org.clojure/clojure "1.6.0"]]
  :main hanging.core
  :aot [hanging.core]
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}})
Run Code Online (Sandbox Code Playgroud)

并且src/hanging/core.clj:

(ns hanging.core (:gen-class))

(println "1")
(def problematic (future))
(println "2")

(defn -main
    "I don't do a whole lot ... yet."
    [& args]
    (println 3)) 
Run Code Online (Sandbox Code Playgroud)

在运行项目时,这是输出(提示冻结,我必须用Cc杀死它):

% lein clean && lein run   
Compiling hanging.core
1
2
Run Code Online (Sandbox Code Playgroud)

注释掉problematicVar定义后,这是输出(JVM关闭):

% lein clean && lein run
Compiling hanging.core
1
2
1
2
3
Run Code Online (Sandbox Code Playgroud)

我猜AOT是罪魁祸首,但有人可以解释一下究竟发生了什么吗?

我对第二个(注释)版本没有问题:在AOT期间,编译器执行所有顶级表单,这就是输出中看到两次1和2的原因. …

clojure leiningen

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

键入具有更严格签名的类实例

假设我正在编写一种数据类型来表示笛卡尔坐标系中的坐标.我想在该数据类型上定义函数并使用Haskell类型检查来防止将位于x轴上的数字与y轴上的数字混合.

这是数据类型定义,具有跟踪坐标轴的幻像类型和构造值的两个函数:

data X
data Y

newtype Coordinate axis = Coordinate Int64 deriving (Show)

newX :: Int64 -> Coordinate X
newX = Coordinate

newY :: Int64 -> Coordinate Y
newY = Coordinate
Run Code Online (Sandbox Code Playgroud)

让我们定义一个滑动函数,通过Int值或另一个Coordinate值滑动坐标.在第一种情况下,坐标应保持其轴,在第二种情况下,两个参数应具有相同的轴:

slideByInt :: Coordinate a -> Int64 -> Coordinate a
slideByInt (Coordinate x) y = Coordinate $ x + y

slideByCoord :: Coordinate a -> Coordinate a -> Coordinate a
slideByCoord (Coordinate x) (Coordinate y) = Coordinate (x + y)
Run Code Online (Sandbox Code Playgroud)

这一切都很有效,它可以防止我在操纵坐标的函数中混淆X轴和Y轴.

我的问题是:如何在类后面进行包装slideByIntslideByCoord功能,以便我可以使用该slide函数.这编译: …

haskell typeclass

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