我正在编写带有一些实时约束的C代码.我测试了用dd写入磁盘的速度:
dd if =/dev/zero of =/dev/sdb bs = 32K count = 32768 oflag = direct
这会将32GB块中的1GB零写入/ dev/sdb
我达到了大约103 MB/s
现在我以编程方式执行类似的操作:
open("/dev/sdb",O_WRONLY|O_CREAT|O_DIRECT|O_TRUNC, 0666);
Run Code Online (Sandbox Code Playgroud)
我得到一个时间戳值从32K缓冲区写入/ dev/sdb 10,000次(在for循环中)得到另一个时间戳值做一些数字运算以获得以MB/s为单位的速率,它大约是49 MB/s
为什么我不能达到与dd相同的速度?一个strace显示了我使用的相同打开命令.
我发现本地构建有时需要5-10分钟的时间来处理我们正在处理的应用程序,但是在那段时间我总是感觉有点不耐烦......有点像现在;).
在等待你的应用程序编译时你们做了什么?
你知道如何在Eclipse的Preferences窗口(菜单栏:Window - > Preferences)中,你有一个层次结构来浏览,但你也有一个文本搜索字段.当您键入该搜索字段时,将过滤层次结构以仅显示与您键入的内容匹配的条目?
我很想在Package Explorer选项卡中看到相同的功能.我的Package Explorer层次结构中有100个文件.通常我只想输入部分名称,并且只查看那些匹配的条目.
这个功能是否存在?相关的东西会实现同样的目标吗?(搜索,而不是浏览)?
谢谢
我正在使用python 2.6和matplotlib.如果我运行matplotlib库页面中提供的示例histogram_demo.py,它可以正常工作.我大大简化了这个脚本:
import numpy as np
import matplotlib.pyplot as plt
mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)
fig = plt.figure()
ax = fig.add_subplot(111)
n, bins, patches = ax.hist(x, 50, normed=1, facecolor='green', alpha=0.75)
ax.set_yscale('log') # <---- add this line to generate the error
plt.show()
Run Code Online (Sandbox Code Playgroud)
我收到此错误(在该plt.show()行):
TypeError: coercing to Unicode: need string or buffer, dict found
Run Code Online (Sandbox Code Playgroud)
我已经尝试将后端更改为许多不同的值 - 没有任何帮助.我在用Qt4Agg.这是字体问题吗?似乎它必须是我的配置.注意:由于其他问题,我刚刚安装了python26,matplotlib,numpy,scipy的新副本.我有另一个运行python26的XP-box,它执行脚本的两个版本,没有错误.我希望有人能帮帮忙.提前谢谢了.
我正在阅读带有Python csv模块的文件,并且还有另一个编码问题(抱歉,这里有很多).
在CSV文件中,有£符号.读完行并打印后,它们就变成了\ xa3.
尝试将它们编码为Unicode会产生UnicodeDecodeError:
row = [unicode(x.strip()) for x in row]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa3 in position 0: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
我一直在阅读关于StackOverflow 的csv文档和许多其他问题.我认为在ASCII中成为\ xa3意味着原始CSV文件是UTF-8.
(顺便提一下,有没有快速检查CSV文件编码的方法?)
如果它是UTF-8,那么csv模块是否应该能够应对它?它似乎正在将所有符号转换为ASCII,即使文档声称它接受UTF-8.
我已经尝试添加csv示例中unicode_csv_reader描述的函数,但它没有帮助.
----编辑-----
我应该澄清一件事.我看过这个看起来很相似的问题.但添加unicode_csv_reader定义的函数会产生不同的错误:
yield [unicode(cell, 'utf-8') for cell in row]
UnicodeDecodeError: 'utf8' codec can't decode byte 0xa3 in position 8: unexpected code byte
Run Code Online (Sandbox Code Playgroud)
那么也许我的文件毕竟不是UTF8?我该怎么说?
我试图利用jQuery-UI Position的能力来处理碰撞,如果用户点击按钮我弹出一个小菜单.基本上,如果他们在屏幕上的某个地方滚动,并且菜单将适合按钮而不是下方,它会自动"翻转"菜单.
这似乎非常简单和超级优雅:
$('#bmenu').click(function(){
$('#button_submenu').position({
'my':'left top',
'at':'center bottom',
'of':$('#bmenu'),
'collision':'fit flip'
}).toggle();
});
$('#bmenu').button({ //prettify the button
icons: {
primary: 'ui-icon-triangle-1-s'
},
text: false
});
Run Code Online (Sandbox Code Playgroud)
他们点击菜单,它定位子菜单,可能翻转或其他任何东西,然后切换到视图.
我发现的一个关键问题是:如果向下滚动页面,然后单击菜单,菜单会以某种方式显示偏移.奇怪的是,如果你不使用切换(或显示/隐藏),position()可以很好地工作.
这是一些标记:
<style type="text/css" media="screen">
/*making the button less space-hungry*/
.ui-button-icon-only { font-size:46%; }
/*menu*/
#button_submenu {
display:block;
position:absolute;
list-style: none;
margin:0;
z-index:9999;
}
/*menu items have a border*/
#button_submenu li {
border-top: 1px solid #CCC;}
#button_submenu li:hover { background-color:white; }
/*except the first one*/
#button_submenu li:first-child …Run Code Online (Sandbox Code Playgroud) 我有一个数字列表,我需要使用LINQ查询创建列表中数字的每个可能的唯一组合,不重复.因此,举例来说,如果我有{ 1, 2, 3 },组合将是1-2,1-3和2-3.
我目前使用两个for循环,如下所示:
for (int i = 0; i < slotIds.Count; i++)
{
for (int j = i + 1; j < slotIds.Count; j++)
{
ExpressionInfo info1 = _expressions[i];
ExpressionInfo info2 = _expressions[j];
// etc...
}
}
Run Code Online (Sandbox Code Playgroud)
是否可以将这两个for循环转换为LINQ?
谢谢.
最近的一个问题使用了sigil不变语法%hash->{key} = 1;进行散列访问,这似乎工作正常,但我认为这将是一个语法错误.
它似乎也适用于数组:
my @array;
@array->[3] = 6;
Run Code Online (Sandbox Code Playgroud)
这种行为是否记录在某处?我不记得读它,但可能忽略了它.
它似乎表现得如下:
(\%hash)->{key}
Run Code Online (Sandbox Code Playgroud)
而不是我会假设的:
(scalar %hash)->{key} # runtime error
Run Code Online (Sandbox Code Playgroud)