我想具体了解LLVM的各种优化级别对应的内容.
也就是说,我想知道哪些优化传递是完全执行的(在前端之外)以及当我使用llvm(或clang或opt)的"-0x"选项时的顺序.相应工具的"人"没有提供关于此事的大量信息(对于gcc的对话).
我知道这个有用的页面:http://llvm.org/docs/Passes.html,但它没有提供有关"-Ox"选项的任何信息.我正在寻找一些调试或冗长的选项(尤其是使用"opt --help"中的信息),但我找不到任何有用的选项.
作为补充,我注意到通过解析代码,所有各种LLVM工具以及clang使用不同的驱动程序,这些驱动程序以自己的方式解析选项.所有这些驱动程序是否与"-Ox"选项相似?
编辑:我为"opt"工具找到了"-debug-pass = Arguments"选项,它为选项"O1"提供了以下输出:
Pass Arguments: -targetdata -no-aa -tbaa -targetlibinfo -basicaa -simplifycfg -domtree -scalarrepl -early-cse -lower-expect
Pass Arguments: -targetlibinfo -targetdata -no-aa -tbaa -basicaa -globalopt -ipsccp -deadargelim -instcombine -simplifycfg -basiccg -prune-eh -always-inline -functionattrs -scalarrepl-ssa -domtree -early-cse -simplify-libcalls -lazy-value-info -jump-threading -correlated-propagation -simplifycfg -instcombine -tailcallelim -simplifycfg -reassociate -domtree -loops -loop-simplify -lcssa -loop-rotate -licm -lcssa -loop-unswitch -instcombine -scalar-evolution -loop-simplify -lcssa -iv-users -indvars -loop-idiom -loop-deletion -loop-unroll -memdep -memcpyopt -sccp -instcombine -lazy-value-info -jump-threading -correlated-propagation -domtree -memdep -dse -adce -simplifycfg …Run Code Online (Sandbox Code Playgroud) 有没有办法使用Semantic UI或FontAwseome中的图标作为OpenLayers3中的标记图标?
OpenLayers具有功能样式文本,可以按如下方式使用:
var blackFill = new ol.style.Fill({color: 'black'})
var whiteStroke = new ol.style.Stroke({color: 'white', width: 1})
var iconText = new ol.style.Text({font: "<my font>", text: "<some string>", fill: blackFill, stroke: whiteStroke })
var featureStyle = new ol.style.Style({ text: iconText });
Run Code Online (Sandbox Code Playgroud)
在检查语义UI元素的样式后,我发现它使用"Icons"作为font-family和转义字符来选择符号(例如"\ f073"用于日历图标); 因此我尝试了(我的页面的head部分包含Semantic-UI的css):
var iconText = new ol.style.Text({font: "Icons", text: "\f073", fill: blackFill, stroke: whiteStroke })
Run Code Online (Sandbox Code Playgroud)
这只是写"\ f073"作为标记.我尝试使用"",就像我在HTML中所做的那样,但这显示了相同的行为(它写了"")我也尝试了"\ uf073",这显示了一些死亡的方块表示一个未知的字符.
有什么建议吗?
首先我的问题:
现在的细节:
我有这个程序:
data = DataFrames.readtable("...") # a big baby (~100MB)
filter_functions = [ fct1, fct2, fct3 ... ] # (x::DataFrame) -> y::DataFrame
filtered_data = @parallel vcat for fct in filter_functions
fct(data)::DataFrame
end
Run Code Online (Sandbox Code Playgroud)
它的功能很好,但是对另一个worker的fct(data)的每次并行调用都会复制整个数据框,使得一切都变得非常缓慢.
理想情况下,我想加载一次数据,并始终在每个工作程序上使用预先加载的数据.我想出了这样的代码:
@everywhere data = DataFrames.readtable("...") # a big baby (~100MB)
@everywhere filter_functions = [ fct1, fct2, fct3 ... ] # (x::DataFrame) -> y::DataFrame
@everywhere for i in 1:length(filter_functions)
if (myid()-1) % nworkers()
fct = filter_functions[i]
filtered_data_temp = fct(data)
end
# How to vcat all …Run Code Online (Sandbox Code Playgroud) 我有这个简单的代码:
library(rgp)
df1 <- data.frame(x=1:10, y=sin(1:10))
grp.model <- symbolicRegression(y ~ x, df1, functionSet=functionSet("sin"))
Run Code Online (Sandbox Code Playgroud)
当我执行时,我得到了错误
STARTING genetic programming evolution run (Age/Fitness/Complexity Pareto GP search-heuristic) ...
Error in mse(x, y) : Argument 's_y' is not a real vector.
Run Code Online (Sandbox Code Playgroud)
我已经尝试过https://cran.r-project.org/web/packages/rgp/vignettes/rgp_introduction.pdf中的示例,但所有示例都给出了无意义的常量函数.
我究竟做错了什么 ?
我使用R版本3.1.2与rgp_0.4-1.
干杯.
让我们考虑以下三个数据框:
toto.small <- data.frame(col1=rep(1,850), col2=rep(2,850))
toto.medium <- data.frame(col1=rep(1,85000), col2=rep(2,85000))
toto.big <- data.frame(col1=rep(1,850000), col2=rep(2,850000))
Run Code Online (Sandbox Code Playgroud)
以下时间:
system.time(for(i in 1:100) { toto.small[i,2] <- 3 })
user system elapsed
0.004 0.000 0.006
system.time(for(i in 1:100) { toto.medium[i,2] <- 3 })
user system elapsed
0.088 0.000 0.087
system.time(for(i in 1:100) { toto.big[i,2] <- 3 })
user system elapsed
2.248 0.000 2.254
Run Code Online (Sandbox Code Playgroud)
迭代大数据帧的两个命令要慢一些.那些循环只是在内存中写入100个预先分配的元素; 时间甚至不应该取决于数据帧的总长度.
有谁知道这个的原因?
我仍然得到与数据表以及应用函数类似的时间差异.
编辑1:R 3.0.2对比R 3.1
对于那些好奇的人来说,data.table和data.frame的时间安排为R v.3.1和3.0.2(我每次测量3次):
R 3.0.2
type size time1 time2 time3
data frame small 0.005 0.005 0.005
data frame …Run Code Online (Sandbox Code Playgroud)