我想让它的用户不必管理内存,所以我决定实现一个垃圾收集器。在查看一些材料后,我能想到的最简单的方法是这样的:
有两种类型的堆区域。第一个用于存储大对象(大于85,000字节),另一个用于存储小对象。当虚拟机启动时,它会从操作系统中分配一个大内存作为虚拟机中的堆区域。BZ和SZ中的每一代都会占用固定的内存部分,当分配请求不能得到满足时,虚拟机会给出错误OTM (out of memory)。这有一个问题:当虚拟机启动时,即使让程序在虚拟机</em
在浏览尼古拉斯·威尔特( Nicholas )的“数据自动化系统手册”( CUDA )时,我注意到,显然1字节和2字节的内存事务并没有合并。然而,我的理解是费米和开普勒(SM2+)架构获取满足内存所需的高速缓存行数。对我来说,这听起来就像是团结起来。我的应用程序,为了节省空间,大量使用了1字节和2字节的数据字段(在大的2D间距线阵中)和锤击全局内存。根据我的测试数据,我看到开普勒笔记本电脑卡(750米,SM3.5)和特斯拉C2075 (SM2.0)的性能分别提高了32%和45%。
这一改