上下文:我正在构建一个读取RSS提要的小站点,并在后台更新/检查提要.我有一个数组来存储要显示的数据,另一个存储已经显示的记录的ID.
问题:在事情开始变慢或缓慢之前,Javascript中的数组可以容纳多少项.我不是在对数组进行排序,而是使用jQuery的inArray函数进行比较.
该网站将保持运行,并且更新并且不太可能经常重新启动/刷新浏览器.
如果我应该考虑从数组中清除一些记录,那么在限制之后删除一些记录的最佳方法是什么,比如100项.
我们的C++库目前使用time_t来存储时间值.我开始在某些地方需要亚秒精度,因此无论如何都需要更大的数据类型.此外,在某些地方解决2038年问题可能会有所帮助.所以我正在考虑完全切换到具有基础int64_t值的单个Time类,以替换所有位置的time_t值.
现在,我想知道在32位操作系统或32位CPU上运行此代码时这种更改对性能的影响.IIUC编译器将生成使用32位寄存器执行64位算术的代码.但是如果这太慢了,我可能不得不使用更加差异化的方式来处理时间值,这可能会使软件更难维护.
我感兴趣的是:
我最感兴趣的是英特尔酷睿2系统上Linux 2.6(RHEL5,RHEL6)上的g ++ 4.1和4.4; 但了解其他系统(如Sparc Solaris + Solaris CC,Windows + MSVC)的情况也很好.
在C++函数中,如果编译64位架构,我需要编译器选择不同的块.
我知道为MSVC++和g ++做一个方法,所以我会把它作为答案发布.但是我想知道是否有更好的方法(更优雅,适用于所有编译器/所有64位架构).如果没有更好的方法,我应该寻找其他预定义的宏,以便与其他编译器/架构兼容?
我正在尝试做类似以下的事情;
#ifdef 64-bit
#define DECIMAL_FORMAT %ld
#else
#define DECIMAL_FORMAT %d
#endif
.
intptr_t d;
.
printf(“Some message with DECIMAL_FORMAT in the middle of it\n”, d);
Run Code Online (Sandbox Code Playgroud)
'intptr_t'类型的变量'd'在32位机器上需要'%d'格式说明符,在64位机器上需要格式说明符'%ld'.我正在寻找一种解决方案,能够在32位机器和64位机器上编译代码,而无需更改GCC命令行或源代码.
我正在处理一个在不同架构中需要不同参数的相机,是否有一个标志我可以检查我的mac是32位还是64位?我试过这个但似乎不起作用,我总是得到32位!:
#if defined(PER_ARCH_CFLAGS_x86_64)
NSLog(@"64bit!!");
#else
NSLog(@"32Bits!!");
#endif
Run Code Online (Sandbox Code Playgroud) 可能重复:
在C中检测64位编译
我希望我的程序在32位和64位Linux操作系统上运行.所以在我的C代码中,我希望编译器知道何时编译32位和64位架构.所以,我需要这样的东西
#ifdef X64
...
#else
...
#endif
Run Code Online (Sandbox Code Playgroud)
在gcc中有没有这样的定义?
我想仅在x86和x86_64 linux上编译我的部分代码,而不是s390 linux或其他.如何在C中使用宏定义来实现呢?我知道linux的是要确定Linux操作系统,以及386,486和586,以确定CPU架构.是否有一个简单的宏定义来确定x86 linux和x86_64 linux?谢谢
与在32位计算机上执行相比,在64位计算机上执行64位操作(例如双精度操作)时,为什么我们不会看到两倍更好的性能?
在32位机器中,我们不需要从内存中取两倍的内存吗?更重要的是,我们不需要两倍的周期来执行64位操作吗?
memory performance cpu-architecture cpu-registers 32bit-64bit
在编译时,有些使用static_asserts我想检查一些简单类型的位大小,unsigned int或者char,根据我的用法,它将在编译时发生重要的事情.
我在gcc手册中没有发现任何相关内容,也没有任何相关功能的知识clang,任何人都知道如何检查类型使用的位数?
请不要,我的重点是位和编译时间.
c++ ×4
32bit-64bit ×3
c ×3
gcc ×2
performance ×2
32-bit ×1
64-bit ×1
arrays ×1
clang ×1
int64 ×1
javascript ×1
linux ×1
macos ×1
macros ×1
memory ×1
objective-c ×1
xcode ×1