[准备/原创]:亲身体验多核/超线程

本文介绍了用ASM语言编写的两个背包问题算法程序,包括单线程版本(bag)和多线程版本(bag-mt)。多线程版本使用4线程并发计算,以提高效率。程序在Windows环境下编译并通过,详细源码和解释提供了对内存访问优化和线程同步的探讨。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背包问题,我写了两个版本的算法程序,bag 和 bag-mt 其中后者是多线程版本,其
使用 4 线程分段计算验证,编写语言是 ASM ,详情请向下观赏:

概述:

1  我的程序对内存访问也是比较频繁密集的,还有就是 xeon 是负载服务器,上面
    还有N个后台进程在驻留,可能可这个也有关系。

2  为了加速,我比较多的使用局部变量,省去临界区,互斥事件的耗时。最后汇总。

源码:

bag:

.386
.model flat,stdcall
option casemap:none

include c:/masm32/include/windows.inc
include c:/masm32/include/user32.inc
includelib c:/masm32/lib/user32.lib
include c:/masm32/include/kernel32.inc
includelib c:/masm32/lib/kernel32.lib

CDim    equ      28

.const
wetdb220,56,79,135,21,5,175,90,11,153;KG
db25,68,123,35,8,94,207,2,67,159
db78,34,43,12,167,231,12,54,98,32
db65,146,57,234,65,93,56,243,8,56
valdb60,100,45,26,9

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大熊猫侯佩

赏点钱让我买杯可乐好吗 ;)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值