我正在尝试实现我从Don Syme的博客中读到的模式
这表明利用异步I/O可以大幅提升性能.我目前正在尝试使用Array.Parallel.Map以一种方式"工作"一段代码,看看我是否可以使用Async.Parallel以某种方式实现相同的结果,但我真的不明白Async.Parallel,并且无法获得任何工作.
我有一段代码(下面简化说明这一点)成功检索一个cusip的数据数组.(例如价格系列)
let getStockData cusip =
let D = DataProvider()
let arr = D.GetPriceSeries(cusip)
return arr
let data = Array.Parallel.map (fun x -> getStockData x) stockCusips
Run Code Online (Sandbox Code Playgroud)
因此,这种方法构建了一个数组阵列,通过互联网连接到我的数据供应商为每个股票(可能多达3000个)并返回一个数组(每个股票1个,每个股票的价格序列)一).我当然不明白Array.Parallel.map下面发生了什么,但是我想知道这是否是浪费资源的情况,并且它实际上可以更快地使用异步I/O?所以为了测试它,我试图使用asyncs来创建这个函数,我认为下面的函数遵循Don Syme使用URL的文章中的模式,但它不会使用"let!"进行编译.
let getStockDataAsync cusip =
async { let D = DataProvider()
let! arr = D.GetData(cusip)
return arr
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:此表达式应该具有类型Async <'a>但这里有类型obj
它用"let"而不是"let!"来编译很好,但我认为整个问题是你需要感叹号才能使命令在不阻塞线程的情况下运行.
所以第一个问题确实是,上面我的语法有什么问题,在getStockDataAsync中,然后在更高的层次上,任何人都可以提供一些关于异步I/O的额外见解,以及我提出的场景是否会从中受益,使其潜在比Array.Parallel.map更快,更快?非常感谢.
您是否知道任何简单的方法来查找"没有足够的格式字符串争论"的日志记录调用.在我的工作站上,我已修改logging/__init__.py为打印msg,以便我可以轻松找到源代码中的行.
但是,您是否知道如何在测试环境中做什么,您无法更改python标准库,也无法轻松运行pdb?
注意:回溯没有意义,日志记录库也很谨慎.这是一个追溯:
File "/usr/lib/python2.6/logging/handlers.py", line 71, in emit
if self.shouldRollover(record):
File "/usr/lib/python2.6/logging/handlers.py", line 144, in shouldRollover
msg = "%s\n" % self.format(record)
File "/usr/lib/python2.6/logging/__init__.py", line 648, in format
return fmt.format(record)
File "/usr/lib/python2.6/logging/__init__.py", line 436, in format
record.message = record.getMessage()
File "/usr/lib/python2.6/logging/__init__.py", line 306, in getMessage
msg = msg % self.args
TypeError: not enough arguments for format string
Run Code Online (Sandbox Code Playgroud)
这是标准库中捕获错误的代码
try:
if self.shouldRollover(record):
self.doRollover()
logging.FileHandler.emit(self, record)
except (KeyboardInterrupt, SystemExit):
raise
except:
self.handleError(record)
Run Code Online (Sandbox Code Playgroud)
Alex建议的解决方案: 我已经包装了getMessage来打印msg和args.这是代码:
def print_log_record_on_error(func):
def wrap(self, *args, …Run Code Online (Sandbox Code Playgroud) 我需要做的是如下:
我有一个bigloo scheme程序(*.scm),然后使用bigloo框架jvm生成一个类文件.
我想从.java文件中使用这个.class文件.也就是说,我需要导入这个(.class)文件,因为我想使用方案文件中定义的一些函数,这些函数现在是一个.class文件.
我怎么在Eclipse中做到这一点?我创建了两个用于java的包和一个用于.class文件的包.然后我导入包含.class文件的包.但我无法在.java文件中的.class文件中使用该函数.有任何设置要做吗?
请让我知道如何做到这一点.
有越来越多的编程语言(Scala,Clojure,...)出现,它们是为Java VM制作的,因此与Java Byte-Code兼容.
我开始问自己:为什么选择Java VM?
是什么让它变得如此强大或受欢迎,以至于为它创造了新的编程语言,它们似乎也越来越受欢迎?
他们为什么不为新语言编写新的VM?
我有一个如下的NAnt脚本:
<if test="${a}>${b}">
<call target="target"/>
</if>
Run Code Online (Sandbox Code Playgroud)
我想要的是将其转换为MSBuild脚本.我发现有写标签的标签,但它只用于定义属性/项目.
我们可以在MSBuild中写"if"条件吗?请帮忙!
为什么某些方法中的参数列表以nil?我特别在集合类中注意到了这一点,例如NSSet:
mySet = [NSSet setWithObjects:someData, aValue, aString, nil];
Run Code Online (Sandbox Code Playgroud)
并且NSArray:
NSArray *objects = [NSArray arrayWithObjects:@"value1", @"value2", @"value3", nil];
Run Code Online (Sandbox Code Playgroud) 我的团队目前正在支持1.1应用程序,我们正在Windows 7上安装VS.NET 2003.我们在32位计算机上没有任何问题,但是FrontPage Server Extensions无法在我的64位计算机上安装.
其他人说他们已经成功完成了这项工作,所以我想知道这里是否有人,以及他们是否知道解决方案.
具体问题是FPSE(澄清,我正在安装"FrontPage 2002 Server Extensions for IIS 7.0")无法正确安装.在EventViewer中我收到错误:
Microsoft FrontPage Server Extensions:
错误#3004f消息:无法读取Microsoft Internet Information Server的配置信息:ImpersonateLoggedOnUser错误.
我在64位上查找了ImpersonateLoggedOnUser的错误,并且确实发现了当UAC关闭时它在64位上失败的情况(我确实关闭了它).我重新打开UAC,以管理员身份运行命令提示符,并在FPSE包上运行msiexec.仍然没有骰子.
我已经按照本教程(以及其他指出的内容)进行安装.
windows error-handling visual-studio-2003 frontpage-extensions windows-7-x64
如何使用可扩展代码编写Perl对象?我在思考驱动程序或一些配置,用户可以在其中传递字符串"Classname :: Class"或其他东西.谢谢.
例如,对于图表类:
my $spg = Graph::ShortestPathGraph->new;
$spg->Algorithm( "Graph::DFS" );
$spg->solve;
$spg->Algorithm( "Graph::BFS" );
$spg->solve;
Run Code Online (Sandbox Code Playgroud) 希望你好好的.我必须创建一个Web项目(非常简单)我将拥有一个带有2个表的数据库.一个表有2个字段.从WebPage我需要像搜索查询一样的Google,例如我在桌面上有电影标题和电影评论.我需要能够像这样搜索这两个字段:
"Best Movie" + Action
Run Code Online (Sandbox Code Playgroud)
我将需要向DB查询以搜索"Best Movie"字符串togheter以及表格的2个字段上的可选ACTION字.
我清楚了吗?:)
有人知道这是否已经制作,如果它是公开的,免费的,在哪里得到它:)
编辑: 我关注的是将Google翻译成符号("",+, - ,〜)来构建有效的查询.
我想做一个接受任何订购和打印更多的课程.(我只是在学习,所以我知道它有点无用)
class PrinterOfGreater[T extends Ordered](val a:T, val b:T){println(a > b)}
Run Code Online (Sandbox Code Playgroud)
我知道它不能用scala中的这种风格写出来,但我不知道怎么写得恰到好处......有人知道吗?
为什么这不编译?乳清字符串包装器是Ordered
class PrinterOfGreater[T <: Ordered[T]](a:T, b:T){println(a > b)}
object A extends Application{new PrinterOfGreater("abc","abd")}
Run Code Online (Sandbox Code Playgroud)