a*****a 发帖数: 1429 | 1
In many cases 40M is slower than 20M.
In the case of congested 2.4G, 40M is certainly slower than 20M.
In the case of 5G with very weak signals, 40M is slower too. |
|
t****t 发帖数: 6806 | 2 40M可比两个20M要复杂得多, 不过你这样理解问题也不大. 但是就这么多了, 没有三个
20M的. |
|
f******b 发帖数: 1148 | 3 我现在用的是20M的performance comcast。晚上用roku看电影老是卡。用speedtest.
net测还总有20M。是不是cable的性质决定了comcast不行?要换成 verizon 才行? |
|
S*A 发帖数: 7142 | 4 我测试过 V4, 光是 user space 程序发数据,什么都不干,
大概 25MB 左右 TCP。
所以这个支持 20M Samba 应该是有困难。
有谁支持到 20M Samba 说明一下配置? |
|
g*******t 发帖数: 7704 | 5 网上论点,wifi 2.4G要高速,
n only, 20M, 1,6,11频道最快,
20m只能到150, 但距离远,速度快,
40m能显示300,速度不行,
stock是自动换频道,1,6,11,40M,所以显示300,速度不一定快, |
|
g*******t 发帖数: 7704 | 6 你用40m,在ddwrt一样可以显示300m
stock你用20m,一样是150m
1,6,11仅仅是在20m下没干扰, 40m是一样的干扰,
wifi最大速度和windows显示速度是2码事, 你要追求显示300m,不是最大速度,
stream |
|
e**e 发帖数: 614 | 7 Quote:
TLC长期存放会漏电,工艺越先进漏电越厉害,三星的闪存质量还算可以,基本上能够
保证不丢失数据,但是速度嘛,一块SSD读速度20M左右,还没U盘快
越是大容量的越容易出现问题,文件放着久了不动速度就是20M/S,这个“久”大约是
放着不动一个月
三星和东芝/闪迪技术同源,在TLC上经验更丰富(小白鼠多),这是所有TLC都会出现
的问题,解决方式无非是主控空闲自动搬数据,但是本来可靠PE就那么点,搬来搬去磨
损了闪存,之后漏电更快
目前来看TLC没有哪家能玩好的,没必要当小白鼠 |
|
G*****h 发帖数: 33134 | 8 用 C 吧
这俩文件不大呀,整数的话,A 80MB B 160MB 空间就都读内存里了
然后就傻 loop 也不会花太久 |
|
|
w****w 发帖数: 521 | 9 用perl,方便且较快。
把第一个文件的数分成区间,做个hash,key是区间,value是个list,即所有在区间里
的数。然后把hash sort一下,读第二个文件,再到hash里找区间,处理一下重叠的情
况就行了。 |
|
i***r 发帖数: 1035 | 10 perl不会。。。可能最后要用2楼的方法。
我的文件实际上要复杂些,除了数字还有gene序列在后面,找到交叉后我要去找对应的
gene信息。
我现在是一行一行的scan A(然后去和B的每一行找交叉),可能这就是程序慢的主要
因素?
包子随后奉上,先多谢了 |
|
l******n 发帖数: 1683 | 11 这个活一定不能用matlab, 那会慢死. 另外A的任意行前两个数字构成的区间都不重叠
么? |
|
|
w****w 发帖数: 521 | 13 给SNP annotate?你这个是单个chromosome还是whole genome? |
|
w****w 发帖数: 521 | 14 这个东东我写过个C# library,把gene按chromosome分好后排序,然后再搜SNP,不应该
超过一个小时。 |
|
n******7 发帖数: 12463 | 15 恩,感觉lz是要做这个
我也做过类似的,sort是关键,还有就是chr by chr来做 |
|
i***r 发帖数: 1035 | 16 谢谢大家,我确实是要搜SNP,chromosome都排好序了,sort过了,稍微优化了一下,
一会儿晚上看看跑了多少。
包子已发,谢谢
PS 这里有没有new jersey附近做生物信息的?pm我大家认识下? |
|
o**n 发帖数: 1249 | 17 借机问一个问题。我有一个较大的二维矩阵,是(x,y)坐标矩阵,float type,x,y都没
有规则顺序。我再建一个x,y mesh grid的矩阵,间距是均匀的或有一定规律比如线性
增加等,要把前面那个乱的(x,y)矩阵放入grid里,会有多个(x,y)落在同一个grid的情
况,把每个grid中有的(x,y)在原矩阵中的行列index记录下来。其实就是个二维monte
carlo的东西。我现在也是用loop硬来,目前用matlab,用C肯定快一些。数组也不是特
别大,run一次大概几分钟时间,但我要做很多次这个事情,想请教大家更好的方法。 |
|
y***d 发帖数: 2330 | 18 你是说 loop grid 花时间?弄个 dirty set 就行了吧 ...都不用,算 xy 的 grid 时
候记录 index 就成了?
monte |
|
|
o**n 发帖数: 1249 | 20 我去查查dirty set。
我没太搞懂你说的第二个
我现在是两层loop grid,用matlab的矩阵比较把index搞出来,类似
for jx=1:nx
ix = xt>x(jx) & xt<=x(jx)+dx;
for jy=1:ny
iy = yt>y(jy) & yt<=y(jy)+dy;
ixy = ix&iy;
#use ixy to process data ...
end
end
xt,yt是(x,y)坐标的二维数据nx*ny,其实是我有一个矩阵数据A,每个数据点对应一个
(x,y)坐标,A(i,j) -> (x,y)。上面code中的x,y是新建的均匀grid,每个间距dx,dy。
我不太理解你说的意思。 |
|
o**n 发帖数: 1249 | 21 我猜如果我用matlab里矩阵的比较时,比如A(i,j)>B(i,j)返回所有满足条件的数据行
列index,应该用的是很优化的算发,我的理解是matlab建议用户尽量用矩阵形式避免
用loop就是他内部优化的结果。但我要对每个grid点和原数据都做一次这个比较,所以
费时,请参见我贴出的code。 |
|
|
l***y 发帖数: 4671 | 23 竟然用 matlab 做大规模的多重循环?这都是在哪里学的 matlab?要是在我的班上,
作业一律零分。 |
|
o**n 发帖数: 1249 | 24 请教我前面那个例子怎么避免二重循环或在matlab里怎么能做的更有效些?谢谢! |
|
|
j**u 发帖数: 6059 | 26 这里的人C专家众多,但是matlab的编程方式很不一样,很多时候是靠点小聪明,而不
是什么算法的。
你的问题,我的理解是平面上很多点,你知道每个点的坐标,现在在平面上画一个棋盘
格子,然后需要知道每个格子里面是那些点?如果是这样的话,可以比较简单的用
matlab的矩阵来进行计算:
1. 每个点的x和y是可以分开考虑的(因为x轴垂直于y轴)
2. 根据你的棋盘格子离散化x和y矩阵,例如x=x0+nx*dx,这个nx就是x这个点在棋盘格
子里的位置,nx是正整数
3. 新得倒的nx和ny矩阵就是你(x,y)坐标矩阵在棋盘格子的新坐标矩阵。利用逻辑矩阵
,很容易找出棋盘格子里任意一格包含的所有点的坐标
monte |
|
|
G*****7 发帖数: 1759 | 28 no need to bother with quadtree
float / mesh_grid_size = index of containing cell |
|
G*****7 发帖数: 1759 | 29 function fast_grid_lookup
%% prepare the data
% randomly generate the query points
num_points = 20e6;
points = rand(num_points,2);
% specify the evenly-spaced mesh grid
num_divs = 1028; % per side
num_cells = num_divs^2;
grid_spacing = 1/(num_divs-1);
% you do not have to instantiate the grid points by
% grid = meshgrid(linspace(0, 1, num_div), linspace(0, 1, num_div));
%% find the enclosing cell of each point
tic;
points_in_cell = ceil(points/grid_spacing)+1; % damn you, 1-based matlab
toc;
%% ... 阅读全帖 |
|
G*****7 发帖数: 1759 | 30 1) for-free. the time taken is minimal. for 20 million points in 1024^2
grids, it took me < 5 seconds.
2) trivial to extend to cases with dx!=dy. |
|
G*****7 发帖数: 1759 | 31 i m gonna repeat what ppl said in programming:
1) if you have to explicitly do for-loop and linearly search for the
interval membership, use mex to embed c/cpp code in matlab.
2) if you got time, check out the search acceleration data structures
provided by, say cgal, such as segment tree, and write mex+cpp code that
takes advantage of that. |
|
o**n 发帖数: 1249 | 32 多谢思考我的问题和读我的code,先包子一个。我觉得你的方法好像比我的code那个好
一些,我去试试看。
我的问题表达得不太好,让很多人糊涂了。我再试着说一遍:
有一个二维面上离散化的物理量A=A(i,j),0
过一些过程后对应到另一个二维面上,每个点在新二维面上坐标变了且与在初始面上的
坐标没有单调关系,i.e.每个A(i,j)在新面的坐标为(x(i,j),y(i,j))。我现在需要知
道这个物理量在新的二维面上的分布。所以在新面上重新做grid,这样就不可避免有多
个点落在同一个grid格子里,如果是这样,就把这个格子里的所有点的物理量值相加,
最后再做一个二维内插平滑化,就能得出在新面上的物理量分布了。其实是个monte
carlo的东西,当然在初始面离散的越细(点越多),最后在新面上的分布就越准确连
续平滑一些。
希望我说明白了。 |
|
o**n 发帖数: 1249 | 33 thanks for your code! baozi first. I'll read the code and try it. |
|
o**n 发帖数: 1249 | 34 just looked through your code. I think you and jzxu used the same concept
which is a much better way than what I did. And your code can be simply
revised to deal with non-uniform grid. Thanks for your help!! |
|
G*****7 发帖数: 1759 | 35 a better way to explain your problem to a programmer is to abstract out the
non-essentials (离散点经过一些过程, 物理量值相加,二维内插平滑化, 物理量分布,
monte carlo...), and tell them what is your input (points and grid) and
what is the desired output (cell-point membership). |
|
o**n 发帖数: 1249 | 36 thanks for your advise!
the
布, |
|
|
|
|
i***r 发帖数: 1035 | 40 谢谢回复
我确实是i通过我的电脑,连到服务器上算的。我电脑比较慢(x61s),但是服务器还
是不错的。
我不知道怎么弄多线程算,但是这样单线程,服务器算也似乎很慢。 |
|
D*******a 发帖数: 3688 | 41 build an interval tree with A, then use B to query |
|
|
d****n 发帖数: 1637 | 43 load file A col 1 & 2, into two array A1 A2
sort these two array
load file B col 1 ,
for each b in B:
binary_search b in A1
binary_search b in A2
done
//you can read B line by line, or load all B into memory.
Sort B also can help on speed |
|
|