问题标签 [interpretation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 对于...问题(Python)
我正在尝试一些不同的方法来运行一些 for...in 循环。考虑一个列表列表:
现在假设我想让 l_o_l 的第一个“列”包含在一个单独的列表中,a
. 我有几种方法可以解决这个问题。例如:
或者
但是,对于第二个示例,我认为“完整”扩展等效于
实际上,有效的“翻译”是
那么,我的问题是关于解释和标点符号。Python如何“知道”附加/确实在“list [0] for list in list_of_lists”扩展中附加列表括号(因此在任何重写中都需要它)?
filesystems - reverse/stride/pread 和 pwrite 的典型应用用途是什么?
如果不耐烦,请跳到下面的“问题”标题。
语境
我从事 Unix(like) 系统管理和基础设施开发工作,但我认为我的问题由程序员回答得最好:o)
我想做的是学习如何使用 iozone 对文件系统(普通、卷管理、虚拟化、加密等)进行基准测试。作为练习,我在我的 slug ( http://www.nslu2-linux.org/ )中对用作系统磁盘的 USB pendrive 进行了基准测试,格式分别为 vfat、ntfs、ext3、ext4 和 xfs。该测试产生了一些令人惊讶的结果,这些结果发布在下面。然而,结果让我感到惊讶的原因很可能是因为我对 iozone 还很陌生,并不真正知道如何解释这些数字。因此,这篇文章。
在我的测试中,iozone 对 11 种不同的文件操作进行了基准测试,但仅针对一种记录大小(4k,与所有测试文件系统的块大小匹配)和一种文件大小 (512MB)。文件系统记录大小和文件大小的片面性当然会给测试带来一些偏差。无论如何,文件操作在下面列出,每个都有我自己的简短解释:
- 初始写入:按顺序将新数据写入磁盘,常规文件使用
- 重写:将新数据附加到现有的顺序、常规文件使用中
- read:顺序读取数据,常规文件使用
- 重新读取:顺序重新读取数据(缓冲测试,还是什么?)
- 反向阅读:???
- 大步阅读:???
- 随机读取:非顺序读取,通常是数据库使用
- 随机写入:非顺序写入,通常使用数据库
- pread:读取某个位置的数据 - 用于索引数据库?
- pwrite:在某个位置写入数据 - 用于索引数据库?
- 混合工作量:(很明显)
其中一些操作看起来很简单。我猜初始写入、重写和读取都用于常规文件处理,包括让指针寻找直到到达某个块,顺序读取或写入(通常通过许多块),有时由于碎片而不得不向前跳跃一点文件。重读测试的唯一目标(我猜)是缓冲测试。同时,随机读/写是典型的数据库操作,其中指针必须在收集数据库记录的同一文件中从一个地方跳到另一个地方,例如在连接表时。
那么问题是什么?
到目前为止,一切都很好。我非常感谢对上述假设的任何更正,尽管它们似乎相当普遍。现在是真正的问题:你为什么要做反向阅读?什么是跨步阅读?有人告诉我,“位置”操作 pread 和 pwrite 用于索引数据库,但为什么不简单地将索引保存在内存中呢?或者这是实际发生的情况,然后一旦给定某个索引,pread 就可以方便地跳转到记录的确切位置?您还使用 pread/pwrite 做什么?
总而言之,到目前为止,我觉得我只能半途而废地解释我的 iozone 结果。我或多或少知道为什么随机操作中的高数字会为数据库提供良好的文件系统,但为什么我需要以相反的顺序读取文件,以及良好的跨步读取告诉我什么?这些操作的典型应用用途是什么?
奖金问题
既然问了,这里有一个额外的问题。作为给定文件系统的管理员,感激地从有洞察力的程序员那里学会了如何解释我的文件系统基准;) - 有人对如何对文件系统的实际使用进行分析有什么建议吗?试验文件系统记录(块)大小是微不足道的,虽然很耗时。关于给定文件系统中文件的大小和分布,“查找”是我的朋友。但是我该怎么做才能计算实际的文件系统调用,如 read()、pwrite() 等?
我也非常感谢任何关于其他资源对文件系统测试结果的影响的评论,例如处理器能力和 RAM 容量和速度的作用。例如,当我想在带有 266 MHz ARM Intel XScale 处理器和 32/8 MB SD/闪存?
具有建筑思维的文档?
因为我不喜欢重复自己太多,我也不喜欢问别人,所以,如果这些问题不能以简短的方式回答,我将非常感谢进一步文档的链接,重要的是不是它解释了上述文件操作的实际作用(我可以参考 API),但是该文档具有架构意识,也就是说,它解释了这些操作通常如何在现实生活中的应用程序中使用。
试验结果
正确的。我承诺了我相当不起眼的 USB pendrive 文件系统测试的结果。我的主要期望是写入结果通常很差(作为闪存驱动器,考虑到它的性质,通常具有比管理它的实际文件系统更大的块大小,这意味着要写入一个较小的更改相对大量的未更改数据必须重写),并且读取结果很好。事实证明,要点是:
vfat 在所有操作上都做得很好,除了有点晦涩(对我来说,无论如何)反向和跨步读取。我猜缺少功能消除了很多簿记。
ntfs 在重写(追加)和读取操作方面很糟糕,使其成为常规文件操作的糟糕候选者。它还很糟糕的预操作,使其成为索引数据库的糟糕候选者。
令人惊讶的是,ext3 和 ext4,后者在所有操作上都略胜一筹,在初始写入、重写、读取、随机写入和 pwrite 操作方面表现不佳,这使得它们不适合常规文件使用以及频繁更新的数据库。但是,ext4 是随机读取和预读的大师,使其成为某种静态数据库的绝佳候选者(?)。ext3 和 ext4 在晦涩难懂的反向读取和跨步读取操作上得分都很高,不管这意味着什么。
无与伦比的全面测试获胜者是 xfs,其唯一的弱点似乎是反向阅读。在初始写入、重写、读取、随机写入和 pwrite 方面,它是最好的,使其成为常规文件使用以及(强烈更新)数据库的绝佳候选者。在重读、随机阅读和预读方面,它是亚军,使其成为(有些静态的)数据库的良好候选者。它在跨步阅读方面也做得很好——不管这意味着什么!
欢迎对这些结果的解释发表任何评论!下面列出了数字(由于长度原因有所删减),一个 iozone 测试套件 pr。文件系统类型,均在标准 4GB Verbatim pendrive(橙色 ;))上进行测试,停靠在配备 N450 1.66Ghz Atom CPU 和 2GB DDR2 667 Mhz RAM 的三星 N105P 笔记本电脑上,运行 Linux 3.2.0-24 x86 内核使用加密交换(是的,我知道,我应该安装一个 64 位 Linux 并让交换保持清晰!)。
问候,托斯滕
PS。写完这篇文章后,我发现 Debian NSLU2 发行版显然不支持 xfs。不过,我的问题仍然存在!
--- vfat ---
--- ntfs ---
--- 分机 3 ---
--- 分机 ---
--- xfs ---
bash - Bash 避免文件名解释
我正在查看一些别名以快速保存当前目录,以便以后打开它。
sed 命令显然处理空格。
但是,我仍然有一个无法解决的奇怪问题,它必须涉及变量解释。
c++ - 将字符打印为整数
我想控制我的s 和'sostream
输出是否将它们写为字符或整数。我在标准库中找不到这样的选项。现在我已经恢复到在一组替代打印函数上使用多个重载char
unsigned char
<<
有没有更好的办法?
java - 编译和解释之间的技术混淆
我已经阅读了许多关于“解释”和“编译”的定义和陈述。但我仍然很困惑。
从技术上讲,解释和编译之间的真正区别是什么?让我详细说明(请纠正我可能有的任何错误概念):
在java中,源代码被“编译”成字节码,然后被“解释”和/或“即时编译”成机器码。但是及时编译和解释之间有什么区别?我的意思是,最后,据我猜测,主机的 CPU 将只运行机器代码。因此,在解释中,指令也被转换为 CPU 可以理解的机器代码。那么,我们在哪里划定即时编译和解释之间的界限呢?
PS这是我的想法。这可能是完全错误的。在那种情况下,请原谅我的愚蠢并纠正我。
谢谢。
common-lisp - Common Lisp 反引号评估:分隔符和运算符
怎么样,在
减号(“-”)不被视为运算符(而是作为符号;'- 而不是 #'- - 对吗?)(这部分我想我明白了。)
但是为什么,第三个左括号确实被评估为'(
-> (list
... (即,列表/表达式分隔符而不仅仅是像上面的 '- 这样的文字?)解释器是否“向前窥视”结束分隔符还是只是说,“好的,这应该是一个列表。如果右边没有分隔符,则表达式无效,这不是我的问题。”?
对不起,一个令人困惑的问题;归结起来,我想我的问题是:解释器如何逐步正确评估上述列表?(也可以随意更正术语。)
python - Python 字符串解释和解析
我正在尝试学习如何在 python 中解释和解析字符串。我想做一个“字符串命令”(不知道是否是正确的表达方式)。但为了更好地解释,我将举一个例子:我想要一个像 SQL 中的命令,其中有一个带有关键字的字符串,它将使进程执行所要求的操作。像这样:cursor.execute("UPDATE Cars SET Price=? WHERE Id=?", (50000, 1))
。但我想为我的项目创建这样的格式(不一定要使用 sql):mydef("U={Cars[Price=50000], Id=1}")
好吧,我真的很想学习如何在 Python 中做到这一点。如果可以的话。
statistics - 我如何解释非显着的交互作用?
以下是测试男性在特定就业市场中是否收入较低的输出:
其中 b1=100(重要),b2=-50(不重要),b3=10(不重要)
我应该如何解释这种工作是否对男性不利?从系数中,我知道
- 如果是女性,收入=100*edu;
- 如果是男性,收入=100*edu-50+10*edu=110*edu-50,
但是我在这里关心的是b2,b3都是微不足道的,那么我该如何解释整个故事呢?
stata - Stata中的标签
我正在尝试使用tabout
Stata 中的命令生成一个表格,显示年龄变量的汇总统计信息。我想要的是类似于summarize age, detail
输出但产生类似于 MS Word 格式的输出。
tabout age using table111.txt, c(skewness age kurtosis age mean age medium age sd age) f(0c) sum h3(nil) npos(both)
不会产生我想要的结果。
关于如何调整代码的任何建议?另外,如果我想在表中包含第二个变量和相同的汇总统计信息怎么办?
uml - 正交状态解释
以下引用的句子的解释是什么UML Reference Manual
?
When an orthogonal state is entered, the number of control threads
increases as a direct substate in each orthogonal region becomes
active.
When the orthogonal state is exited, the number of control
threads decreases.