public class testcache {
class A{
public int []tagid;
public int []tagvalueid;
}
public A [] tmpA;
public void test(){
// tmpA=new A[20000000];
tmpA=new A[20000000];
for (int i = 0; i < tmpA.length; i++) {
tmpA[i]=new A();
tmpA[i].tagid=new int[10];
for (int j = 0; j < tmpA[i].tagid.length; j++) {
tmpA[i].tagid[j]=j;
}
tmpA[i].tagvalueid=new int [10];
for (int j = 0; j < tmpA[i].tagvalueid.length; j++) {
tmpA[i].tagvalueid[j]=j;
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("freeMemory="+Runtime.getRuntime().freeMemory());
System.out.println("totalMemory="+Runtime.getRuntime().totalMemory());
System.out.println("maxMemory="+Runtime.getRuntime().maxMemory());
System.out.println("--------------------------------");
long start=System.currentTimeMillis();
// int [] tmp=new int[100000000];
// for (int i = 0; i < tmp.length; i++) {
// tmp[i]=i;
// }
// String [] tmp=new String[10000000];
// for (int i = 0; i < tmp.length; i++) {
// tmp[i]=""+i;
// }
BirdBitSet tmpBitSet1=new BirdBitSet();
tmpBitSet1.set(1);
tmpBitSet1.set(1000);
tmpBitSet1.set(99999);
System.out.println("tmpBitSet1.size()="+tmpBitSet1.size());
testcache _testcache=new testcache();
_testcache.test();
System.out.println("time1:"+(System.currentTimeMillis()-start));
BirdBitSet tmpBitSet=new BirdBitSet();
start=System.currentTimeMillis();
int tmpi=0;
for (int i = 0; i < 10000000; i++) {
tmpi=(int) Math.round(Math.random()*20000001);
tmpBitSet.set(tmpi);
}
System.out.println("time2:"+(System.currentTimeMillis()-start));
start=System.currentTimeMillis();
int iranddom=0;
for (int i = tmpBitSet.nextSetBit(0); i >=0; i=tmpBitSet.nextSetBit(i+1)) {
int tmpicount=_testcache.tmpA[i].tagid.length;
for (int j = 0; j < tmpicount; j++) {
int tmp=_testcache.tmpA[i].tagid[j]+100;
}
int tmpicount1=_testcache.tmpA[i].tagvalueid.length;
for (int j = 0; j < tmpicount; j++) {
int tmp=_testcache.tmpA[i].tagvalueid[j]+100;
}
}
System.out.println("iranddom:"+(iranddom));
System.out.println("time3:"+(System.currentTimeMillis()-start));
System.out.println("freeMemory="+Runtime.getRuntime().freeMemory());
System.out.println("totalMemory="+Runtime.getRuntime().totalMemory());
System.out.println("maxMemory="+Runtime.getRuntime().maxMemory());
System.out.println("totalMemory-freeMemory[已经使用的内存]="+(Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory())/1024/1024);
}
}
结论
单线程 8核机器
2000w
随机取1000w
freeMemory=8588320
totalMemory=9109504
maxMemory=4727504896
--------------------------------
初始数据
time1:88881
模似数据
time2:1172
iranddom:0
//取值
time3:1324
freeMemory=670798848
totalMemory=4201250816
maxMemory=4727504896
totalMemory-freeMemory[已经使用的内存]=3366 (3.3G)
如果用多线程将取到很好的效果,16个核的机器估计可以支撑1亿记录数据量的聚类
分享到:
相关推荐
3. **粒子群优化算法(Particle Swarm Optimization, PSO)**:PSO是一种基于群体智能的全局优化算法,模拟鸟群或鱼群的集体行为,寻找问题的最优解。 4. **I-H/O方法**:这是一种基于极化散射特性的分类方法,通过...
- **更新阶段**:根据新分配的结果,重新计算每个类别的均值(或更复杂的统计特性,如均值、方差等),作为新的聚类中心。 - **合并和分裂**:检查每个类别的数据点数量,如果一个类别的数据点过少,可以将其与...
标题和描述均提到了“鲍威尔和模拟退火优化算法结合的多分辨率三维图像配准”,这是一项在医学图像处理领域的重要技术。该技术的核心在于使用鲍威尔优化算法(Powell's minimization method)和模拟退火算法...
【算法初步与算法案例】是高中数学复习的重要部分,主要涉及如何通过算法解决数学问题以及理解算法的工作原理。算法是一种精确的步骤序列,用于解决特定问题或执行特定任务。在这个主题中,通常会涵盖以下几个方面:...
在MATLAB环境中,优化算法常常被用来处理贝叶斯统计中的计算问题,例如寻找最佳参数估计。贝叶斯统计方法在处理数据预测时,将未知参数视为随机变量,并用先验分布来描述对这些参数的初步理解。如果缺乏先验知识,...
5. **迭代更新**:APES算法通常采用梯度下降或更高级的优化算法,如共轭梯度法,进行迭代更新,直到目标函数达到收敛条件。 在MATLAB中实现APES算法,可以利用其强大的数值计算库和优化工具箱。通常会编写自定义...
这些数学分析的基础知识对于算法设计至关重要,因为它们可以帮助开发者优化算法,提高其效率和准确性。例如,在设计搜索算法时,理解函数的单调性可以帮助确定搜索的范围,从而提高算法的执行速度。 第14题关注的是...
在最后的展望部分,作者对数据挖掘和算法实现的未来研究方向进行了讨论,指出了当前研究的不足之处,并提出了改进的可能性,如算法的优化、更大规模数据集的处理能力、以及多学科交叉融合的深入研究等。 综上所述,...
6. 算法优化与代码封装: - 代码中包含了变量私有化,如intaCount、privatelong SimpleFactor、privatelongX等,符合面向对象编程的封装原则。 - 算法中的核心处理函数被封装成方法,如public long CorSeries...
如果新样本映射到的区域与已知故障模式相匹配,就可以初步判断该柴油机存在相应的故障。此外,还可以结合其他诊断方法如专家系统或统计模型进行更准确的故障识别。 总的来说,MATLAB中的SOM神经网络提供了一种有效...
【深度学习物体检测在嵌入式设备上的优化】在计算机视觉领域,物体检测是一个核心问题,从传统的统计学习方法到基于深度学习的解决方案,技术进步显著。2014年,R-CNN引入了卷积神经网络(CNN)用于物体检测,提升了...
该文主要探讨了一种利用基于BP神经网络优化算法来从MIDI文件中提取主旋律的方法。MIDI文件是一种数字化的音乐表示形式,包含了音乐的各种元素,如音高、音强和时值。提取主旋律是音乐信息检索和分析中的关键步骤,有...
3. **算法优化**:通过对算法进行优化,减少不必要的计算步骤,提高算法的执行效率。 #### 四、综合应用 1. **质量指标分析**: - 题目要求从某个企业的生产产品中抽取样本,通过测量产品质量指标值来进行数据...
1. 基于统计模型的算法:这类方法通常利用目标的运动特性,如速度和加速度,通过建立概率模型来区分动态和静态目标。例如,可以通过估计目标的速度和加速度分布,利用高斯混合模型(Gaussian Mixture Model, GMM)...
- **原始OTSU**: 不包含任何优化措施的原始算法。 - **快速OTSU版本一**: 实现了加速版本一的优化策略。 - **快速OTSU版本二**: 只完成了初步变形。 - **快速OTSU_Fast二**: 结合了加速版本一和版本二的思想,进一步...
- **调用优化算法**:通过`GAUCP`函数执行遗传算法优化,输出最佳投影向量和投影指标的变化趋势。 - **结果可视化**:绘制训练样本的投影散布图,并对预测样本进行投影预测,展示了预测样本的投影值。 #### 六、...
除此之外,贪心策略、数据结构优化等方法也都是减少冗余、优化算法的有效手段。 减少冗余的过程往往需要对问题有深刻的理解,以及对算法设计的巧妙把握。在算法的设计阶段,就需要考虑到可能产生的冗余,并针对性地...
在这个高级篇中,我们将深入到MATLAB的统计工具箱,学习如何处理复杂的统计问题,进行高级的数据分析,并应用优化算法来解决实际问题。 在数理统计方面,MATLAB提供了丰富的函数和工具,如描述性统计、假设检验、...
在实际应用中,这两种算法可以结合使用,先用Fisher算法进行初步降维,再通过核函数进一步提升分类效果。这种方法在人脸识别、文本分类、生物信息学等领域有广泛应用。 总结起来,Fisher算法和基于核的Fisher算法是...