吧务
level 15
xzcyr
楼主
如题。显然它不只是个动态列表,比如下面这段 fortran 代码在我机子上要花11秒:
program tst
implicit none
integer(8),allocatable:: lst(:)
integer(8)::o1
lst=[integer(8)::]
do o1=1,60000*2
lst=[lst,o1]
end do
print *, size(lst)
end program
而这段 Mathematica 代码只要0.006秒:
$ContextPath = DeleteDuplicates@Append[$ContextPath, "Internal`"];
dat = Compile[{},
Module[{list = Bag@Most@{0}}, Do[StuffBag[list, index], {index, 6 10^4 2}];
BagPart[list, All]]][]; // AbsoluteTiming
2021年10月02日 03点10分
1
program tst
implicit none
integer(8),allocatable:: lst(:)
integer(8)::o1
lst=[integer(8)::]
do o1=1,60000*2
lst=[lst,o1]
end do
print *, size(lst)
end program
而这段 Mathematica 代码只要0.006秒:
$ContextPath = DeleteDuplicates@Append[$ContextPath, "Internal`"];
dat = Compile[{},
Module[{list = Bag@Most@{0}}, Do[StuffBag[list, index], {index, 6 10^4 2}];
BagPart[list, All]]][]; // AbsoluteTiming
