问题列表 - 第12426页

Python 中的快速字符串到整数转换

实际上,这是一个简单的问题:您有 10 亿 (1e+9) 个无符号 32 位整数作为十进制 ASCII 字符串存储在 TSV(制表符分隔值)文件中。int()与处理同一数据集的其他工具相比,转换速度非常慢。为什么?更重要的是:如何让它更快?

因此问题是:在Python中将字符串转换为整数的最快方法是什么?

我真正想到的是一些半隐藏的 Python 功能,可以(滥用)用于此目的,与 Guidoarray.array在他的“优化轶事”中的使用不同。

示例数据(制表符扩展为空格)

38262904        "pfv"              2002-11-15T00:37:20+00:00
12311231        "tnealzref"        2008-01-21T20:46:51+00:00
26783384        "hayb"             2004-02-14T20:43:45+00:00
812874          "qevzasdfvnp"      2005-01-11T00:29:46+00:00
22312733        "bdumtddyasb"      2009-01-17T20:41:04+00:00
Run Code Online (Sandbox Code Playgroud)

读取数据所花费的时间在这里无关紧要,处理数据才是瓶颈。

微基准测试

以下所有语言都是解释性语言。主机运行 64 位 Linux。

Python 2.6.2 和 IPython 0.9.1,每秒约 214k 次转换 (100%):

In [1]: strings = map(str, range(int(1e7)))

In [2]: %timeit map(int, strings);
10 loops, best of 3: 4.68 s per loop
Run Code Online (Sandbox Code Playgroud)

REBOL 3.0 版本 2.100.76.4.2,~231kcps (108%):

>> strings: array …
Run Code Online (Sandbox Code Playgroud)

python optimization performance

6
推荐指数
1
解决办法
1万
查看次数

在C++中将指针转换为数组

CreateFileMapping函数返回一个指向内存映射文件的指针,我想将该内存映射视为一个数组.

这是我基本上想做的事情:

char Array[] = (char*) CreateFileMapping(...);
Run Code Online (Sandbox Code Playgroud)

除了显然我不能简单地挥动手臂并声明指针现在是一个数组.

你们有什么想法我能做到这一点吗?我不想将指针指向的值复制到数组中,因为这会对大文件使用太多内存.

谢谢一堆,

c++ arrays pointers memory-mapping

2
推荐指数
2
解决办法
2万
查看次数

Mysql - 按百分比限制?

假设我在Select Query中定义别名'count',我想将返回的数量限制为count/5(或表的20%).

我怎样才能做到这一点?除了整数,Mysql似乎没有任何东西,而不是函数.

mysql sql limit

8
推荐指数
2
解决办法
8586
查看次数

确定第三方应用程序安装目录

我有一个应用程序,在整个公司的数百台计算机上使用,我必须修改应用程序的安装目录中的INI文件.用户可以随意安装应用程序,并且可以在任何给定时间安装多个版本的应用程序.我需要能够找到该安装目录.

到目前为止我考虑过的方法:

  • 使用WindowsInstaller按名称查找产品并查找其安装目录.(从这里). - 这几乎可以工作,但我希望填充的属性(TARGETDIR,APPDIR)不是.
  • 查看注册表以查找特定应用程序的安装目录.它不在那里.
  • MsiGetComponentPath()?我在上面提到的相同链接中看到了这个,但我不知道如何实现它.我可以使用Windows安装程序获取ProductID,但我不知道如何以编程方式选择一个组件并随机查找其ID.任何人?

好吧,让我们听一下以编程方式确定Windows应用程序的安装目录的任何其他方法.

c# installation wmi windows-installer

7
推荐指数
1
解决办法
2583
查看次数

帮助使用"for"循环遍历充满对象的arraylist

我有一个具有类数据结构的arraylist.

public class empRec
{
    public string nuView;
    public string firstName;
    public string position;
}

empRec records = new empRec();
...
...

bar.add(records);
Run Code Online (Sandbox Code Playgroud)

现在,如果我想访问我可以使用的元素

foreach(empRec foo in bar) { ... }
Run Code Online (Sandbox Code Playgroud)

这允许我打印出我班上的值.

我不知道如何使用for循环来完成这项工作.

我的最终目标是遍历arraylist并找到员工记录并更改某些值.

例如,如果employeeNum等于先前的employeeNum检查位置id并更改位置id.

c#

1
推荐指数
1
解决办法
1万
查看次数

XNA查看矩阵 - 寻求解释

我在理解XNA中的视图矩阵时遇到了一些麻烦.我已经完成了所有其他部分,因为我刚刚学会了所需的数学,我不想使用内置的Matrix函数,而不了解他们先做的事情.

现在我理解了旋转,投影和翻译的基础知识,但我无法理解视图矩阵在XNA中的工作原理.

从我收集的信息来看,视图矩阵应该将"世界"转变为它自己的空间.看似合理,但库中的Matrix.CreateLookAt方法非常令人费解.

我已经建立(通过检查库函数输出的内容)这两段代码产生相同的结果:

Matrix view = Matrix.CreateReflection(new Plane(Vector3.UnitX, 0)) * Matrix.CreateReflection(new Plane(Vector3.UnitZ, 0)) * Matrix.CreateTranslation(Position);
// ..equals this if (Position = (0 0 -5), since LookAt "looks at" but the above just looks straight down Z)..
Matrix blah = Matrix.CreateLookAt(Position, Vector3.Zero, Vector3.UnitY);
Run Code Online (Sandbox Code Playgroud)

为什么要翻转X和Z轴?我认为你应该根据摄像机的旋转来旋转世界,但是在相反的方向,然后在相反的方向上将世界翻转相同的量.

或者视图矩阵根本不用作转换,而只是编码摄像机在世界中的位置和旋转?

c# 3d xna camera matrix

6
推荐指数
3
解决办法
1万
查看次数

相当于C#中的__DATE __,__ TIMME__宏

有没有的等效__DATE____TIME__C#中?

基本上我要做的是在C#应用程序中放置一些构建时间戳.

我在微软网站上看到的一种可能性是做以下事情:

Assembly assem = Assembly.GetExecutingAssembly();
Version vers = assem.GetName().Version;
DateTime buildDate = new DateTime(2000, 1, 1).AddDays(vers.Build).AddSeconds(vers.Revision * 2);
Console.WriteLine(vers.ToString());
Console.WriteLine(buildDate.ToString());
Run Code Online (Sandbox Code Playgroud)

但是,这仅适用于AssemblyInfo.cs中的版本为"1.0 .. ",而我们的版本不是.

c# datetime

14
推荐指数
1
解决办法
5058
查看次数

设置jQueryUI DatePicker的样式

我正在使用jquery datepicker(http://jqueryui.com/demos/datepicker/).

演示页面上的日期选择器小而紧凑.但是,当我在我的网站上使用datepicker时,日历是巨大的.我估计每个日期都使用12磅字体.

如何让日子缩小?

jquery coding-style datepicker

26
推荐指数
5
解决办法
5万
查看次数

Ada中的任意长度整数

我目前正在教自己Ada,虽然我可以从解决一些更传统的问题开始.

更具体地说,我尝试计算阶乘n !,而n> 100.到目前为止,我的实施是:

with Ada.Text_IO;
with Ada.Integer_Text_IO;

use Ada.Text_IO;

procedure Factorial is 
    -- define a type covering the range beginning at 1 up to which faculty is to
    -- be computed.
    subtype Argument is Long_Long_Integer range 1..100;

    -- define a type that is large enough to hold the result
    subtype Result is Long_Long_Integer range 1..Long_Long_Integer'Last;
    package Result_IO is new Ada.Text_IO.Integer_IO(Result); use Result_IO;

    -- variable holding the faculty calculated.
    fac : Result := 1;

begin
    -- loop over whole range …
Run Code Online (Sandbox Code Playgroud)

ada

6
推荐指数
1
解决办法
2370
查看次数

为iPhone编译OpenSSH?

我正在尝试(交叉)为iPhone 编译混淆的openssh,我遇到了一些问题.我正在使用它来配置构建:

./configure --host=arm-apple-darwin CC=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.0.1 \
CFLAGS="-arch armv6 -pipe -std=c99 -I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/include \
-L/Users/ben/iphonelib -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -Wreturn-type \
-Wunused-variable -fmessage-length=0 -fvisibility=hidden \
-miphoneos-version-min=2.0 -gdwarf-2 -mthumb \
-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk" \
CPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/cpp \
AR=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar
Run Code Online (Sandbox Code Playgroud)

但这不起作用,抱怨无法找到许多头文件,包括netinet/in_systm.hopenssl/bn.h.有没有人对如何进行构建完成有任何想法?

iphone openssh cross-compiling

6
推荐指数
1
解决办法
2241
查看次数