如何从任何文件中读取原始字节数组,并将该字节数组写回新文件?
我了解到,默认情况下,程序中的I/O是缓冲的,即它们从临时存储器提供给请求程序.我知道缓冲可以提高IO性能(可能通过减少系统调用).我已经看到了禁用缓冲的示例,例如setvbuf在C中.两种模式之间有什么区别?何时应该使用另一种模式?
我想在 Windows 中测试我的 django 项目表单 IDLE shell。我运行以下命令
from django.template import Template, Context
t = Template('test template')
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误。
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
t = Template('test template')
File "C:\Program Files\Python26\lib\site-packages\django\template\__init__.py", line 164, in __init__
if settings.TEMPLATE_DEBUG and origin is None:
File "C:\Program Files\Python26\lib\site-packages\django\conf\__init__.py", line 28, in __getattr__
self._import_settings()
File "C:\Program Files\Python26\lib\site-packages\django\conf\__init__.py", line 59, in _import_settings
self._target = Settings(settings_module)
File "C:\Program Files\Python26\lib\site-packages\django\conf\__init__.py", line 94, in __init__
raise ImportError, "Could not import settings '%s' (Is it on …Run Code Online (Sandbox Code Playgroud) 如何从任何文件中读取原始字节数组...
Dim bytes() as Byte
Run Code Online (Sandbox Code Playgroud)
..然后将该字节数组写回一个新文件?
我需要它作为一个字节数组来进行一些处理.
我目前正在使用:
阅读
Dim fInfo As New FileInfo(dataPath)
Dim numBytes As Long = fInfo.Length
Dim fsAs New FileStream(dataPath, FileMode.Open, FileAccess.Read)
Dim br As New BinaryReader(fs)
Dim bytes As Byte() = br.ReadBytes(CInt(numBytes))
br.Close()
fs.Close()
Run Code Online (Sandbox Code Playgroud)
来写
Dim fs As System.IO.FileStream
fs = New System.IO.FileStream(outpath, System.IO.FileMode.Create)
fs.Write(bytes, 0, bytes.Length)
fs.Close()
Run Code Online (Sandbox Code Playgroud) 我意识到它<input type="submit"/>有一个border-box盒子模型,而<input type="text"/>有一个content-box盒子模型.IE8和FF中存在此行为.不幸的是,这阻止了我将这种风格用于漂亮的均匀大小的输入:
input, textarea
{
border: 5px solid #808080;
padding:0px;
background-color:#C0C0C0;
width:20em;
}
Run Code Online (Sandbox Code Playgroud)
这是IE和FF的正确行为吗?是否存在跨浏览器解决此问题的方法?
我有以下查询,查找与搜索匹配的TOP 5 产品.每个产品都与商店相关联
SELECT TOP 5*FROM Products p,Shops s WHERE p.ShopId = s.ShopId AND p.ProductName LIKE'%christmas%'
我需要对此进行扩展,以便在每个商店中返回TOP 5 产品.
任何人都可以让我知道如何修改查询来实现这一目标吗?- 即选择在每个商店中匹配"%christmas%"的TOP 5产品(而不是显示所有商店中匹配"%chrismas%"的TOP 5产品的当前产品).
我的问题是(g^x) mod p在JavaScript中快速计算,其中^是取幂,mod是模运算.所有输入都是非负整数,x大约有256位,p是2048位的素数,g最多可能有2048位.
我发现可以在JavaScript中执行此操作的大多数软件似乎都使用JavaScript BigInt库(http://www.leemon.com/crypto/BigInt.html).在我的慢速浏览器(使用SpiderMonkey的Firefox 3.0)上使用此库执行此类大小的单次取幂大约需要9秒.我正在寻找一种至少快10倍的解决方案.使用square-and-multiply(通过平方取幂,http://en.wikipedia.org/wiki/Exponentiation_by_squaring)的明显想法对于2048位数来说太慢了:它需要多达4096次乘法.
升级浏览器不是一种选择.使用其他编程语言不是一种选择.将数字发送到Web服务不是一种选择.
是否有更快的替代方案实施?
更新:按照下面的答案中提到的文章http://www.ccrwest.org/gordon/fast.pdf的建议做一些额外的准备工作(即预先计算几百个权力),可以做到2048-位模幂运算仅使用最多354次模乘.(传统的square-and-multiply方法要慢得多:它使用最多4096次模乘.)这样做可以在Firefox 3.0中将模幂运算速度提高6倍,在Google Chrome中提高4倍.我们没有获得4096/354的全速加速的原因是BigInt的模块化指数算法已经比正方形和乘法更快,因为它使用蒙哥马利减少(http://en.wikipedia.org/wiki/Montgomery_reduction) .
更新:从BigInt的代码开始,似乎值得做两个级别的手动优化(和内联)Karatsuba乘法(http://en.wikipedia.org/wiki/Karatsuba_algorithm),然后才恢复到基础-32768 O( n ^ 2)在BigInt中实现的乘法.对于2048位整数,这会使乘法乘以2.25倍.不幸的是,模运算不会变得更快.
更新:使用http://www.lirmm.fr/arith18/papers/hasenplaugh-FastModularReduction.pdf和Karatsuba乘法和预计算功能中定义的修改后的Barrett约简(在http://www.ccrwest.org/gordon/中定义)fast.pdf),我可以在Firefox 3.0中将单次乘法所需的时间从73秒减少到12.3秒.这似乎是我能做的最好的,但它仍然太慢了.
更新:Flash Player中的ActionScript 2(AS2)解释器不值得使用,因为它似乎比Firefox 3.0中的JavaScript解释器慢:对于Flash Player 9,它似乎慢了4.2倍,对于Flash Player 10,似乎慢了2.35倍.有人知道ActionScript2和ActionScript3(AS3)之间的速度差异是否有数字运行?
更新:Flash Player 9中的ActionScript 3(AS3)解释器不值得使用,因为它与JavaScript int Firefox 3.0的速度几乎相同.
更新:在Flash Player 10的ActionScript 3(AS3)解释可高达6.5倍,比在Firefox 3.0的JavaScript解释器速度更快,如果int是用来代替Number,并Vector.<int>用来代替Array.对于2048位大整数乘法,至少它快2.41倍.因此,在AS3中进行模幂运算可能是值得的,如果可用的话,在Flash Player 10中执行它.请注意,这仍然比谷歌Chrome的JavaScript解释器V8慢.有关各种编程语言和JavaScript实现的速度比较,请参见http://ptspts.blogspot.com/2009/10/javascript-and-actionscript-performance.html.
更新:有一个非常快速的Java解决方案,如果安装了Java插件,可以从浏览器的JavaScript调用.以下解决方案比使用BigInt的纯JavaScript实现快约310倍. …
javascript primes discrete-mathematics modulo exponentiation
有一个网站设置基本功能,如发布教程和注册,或等到你有评级系统,评论系统,RSS源等等,这是一个好主意吗?
我决定不从 postgres 数据库中删除行,而是隐藏这些行,以便在意外删除行的情况下,我仍然可以检索它们。从数据库隐藏行的最佳方法是什么?您是否建议创建一个名为“Active”的列,并将其值设置为 1 或 0,1 表示活动,0 表示删除和隐藏。如果重要的话我也在使用 sqlalchemy 。
binaryfiles ×2
filestream ×2
javascript ×2
vb.net ×2
border-box ×1
buffering ×1
bytearray ×1
c# ×1
css ×1
django ×1
hide ×1
input ×1
io ×1
modulo ×1
oop ×1
postgresql ×1
primes ×1
python-idle ×1
rows ×1
sql-server ×1