一个关于多个Python 程序共享数据结构的问题# Programming - 葵花宝典m*a2017-10-05 07:101 楼Being a minority, but does not mean " can not be popular"
d*62017-10-05 07:102 楼写了一个小的Python的程序。 在单机上比较慢。现在准备在好多个机器上同时跑这个程序。问题:有没有现成的Python库,让这些在不同的机器上的Python程序共享数据结构?如果其中的一个程序更新了这个数据结构, 别的程序应当能马上看到。谢谢。
P*s2017-10-05 07:103 楼虽然这句话没错,但是不支持你的论点【在 m****a 的大作中提到】: Being a minority, but does not mean " can not be popular"
s*n2017-10-05 07:105 楼为什么非要POPULAR,我认得个白人女孩,自称高中是个书虫JERK,老是被人嘲笑,后来了,本科毕业打无数零工混经验推荐信,现在已经医学院快毕业了,高中阶段知道自己是谁,自己要什么,比什么都重要
d*c2017-10-05 07:106 楼如果不是访问特别频繁,redis database,in memory database应该是容易的。之前有个帖子,那是单机不一定要用数据库,但你多机,用数据库应该比搞spark之类的简单。https://www.mitbbs.com/article_t/Programming/31509253.html【在 d**********6 的大作中提到】: 写了一个小的Python的程序。 在单机上比较慢。现在准备在好多个机器上同时跑这个: 程序。: 问题:有没有现成的Python库,让这些在不同的机器上的Python程序共享数据结构?: 如果其中的一个程序更新了这个数据结构, 别的程序应当能马上看到。: 谢谢。
i*e2017-10-05 07:107 楼这个说得太对了有的人一辈子都搞不清楚对了,你有什么好的推法么?【在 s******n 的大作中提到】: 为什么非要POPULAR,我认得个白人女孩,自称高中是个书虫JERK,老是被人嘲笑,后来: 了,本科毕业打无数零工混经验推荐信,现在已经医学院快毕业了,: 高中阶段知道自己是谁,自己要什么,比什么都重要
g*t2017-10-05 07:108 楼局域网内的话,直接share log文件就好了吧?别的都很麻烦【在 d**********6 的大作中提到】: 写了一个小的Python的程序。 在单机上比较慢。现在准备在好多个机器上同时跑这个: 程序。: 问题:有没有现成的Python库,让这些在不同的机器上的Python程序共享数据结构?: 如果其中的一个程序更新了这个数据结构, 别的程序应当能马上看到。: 谢谢。
n*g2017-10-05 07:109 楼SerializationPickle[在 dailygrind16 (天天绞肉机) 的大作中提到:]:写了一个小的Python的程序。 在单机上比较慢。现在准备在好多个机器上同时跑这个:程序。:问题:有没有现成的Python库,让这些在不同的机器上的Python程序共享数据结构?:如果其中的一个程序更新了这个数据结构, 别的程序应当能马上看到。:谢谢。
d*62017-10-05 07:1010 楼谢谢大伙的回复。Shared logging file 对于我的这个应用好像不太合适(不够快?)。在这个应用里,那些Python 程序要共享的数据结构是动态增长的和无法提前预测的; 如果一个Python程序产生了一个新的节点(到那个数据结构里的话), 别的Python程序就不应当再重复这个劳动。这个有点像多个计算机程序之间shared data structure。另外, 这是一个小应用,所以能够不用大的, 复杂的库是最理想的。我先试试哥们推荐的几个库看看。【在 g****t 的大作中提到】: 局域网内的话,直接share log文件就好了吧?: 别的都很麻烦
w*g2017-10-05 07:1011 楼你跑python程序时看看CPU有没有所有core都用满。别先急着折腾多机。多机共享数据结构这个做起来不易,不到萬不得已不应该试。不管是spark还是数据库,都只是多机共享数据, 但都谈不上什么结构。用这些轮子做“结构”都会很慢。【在 d**********6 的大作中提到】: 写了一个小的Python的程序。 在单机上比较慢。现在准备在好多个机器上同时跑这个: 程序。: 问题:有没有现成的Python库,让这些在不同的机器上的Python程序共享数据结构?: 如果其中的一个程序更新了这个数据结构, 别的程序应当能马上看到。: 谢谢。
d*a2017-10-05 07:1013 楼说的对。Software distributed shared memory不容易做好也不容易用好。Python好象没有现成的轮子,那就不要跳这个坑。【在 w***g 的大作中提到】: 你跑python程序时看看CPU有没有所有core都用满。别先急着折腾多机。: 多机共享数据结构这个做起来不易,不到萬不得已不应该试。: 不管是spark还是数据库,都只是多机共享数据, 但都谈不上什么结构。: 用这些轮子做“结构”都会很慢。
d*a2017-10-05 07:1014 楼你要是用数据库的话,数据库本身很可能会成为瓶颈。Python有个MPI的模块叫mpi4py,也许可以试试。但我自己从来没在python里用过MPI,只在C和FORTRAN里用过。Python【在 d**********6 的大作中提到】: 谢谢大伙的回复。: Shared logging file 对于我的这个应用好像不太合适(不够快?)。在这个应用里,: 那些Python 程序要共享的数据结构是动态增长的和无法提前预测的; 如果一个Python: 程序产生了一个新的节点(到那个数据结构里的话), 别的Python程序就不应当再重: 复这个劳动。这个有点像多个计算机程序之间shared data structure。: 另外, 这是一个小应用,所以能够不用大的, 复杂的库是最理想的。: 我先试试哥们推荐的几个库看看。
d*62017-10-05 07:1015 楼好主意。 这个Python程序并不是computation-intensive。慢估计是别的原因。之所以选择Python是因为有两个轮子好用。以前用Java 和 C 比较多。用Python认真地写程序还是第一次。 所以来问问。谢谢楼上大伙的回复。【在 w***g 的大作中提到】: 你跑python程序时看看CPU有没有所有core都用满。别先急着折腾多机。: 多机共享数据结构这个做起来不易,不到萬不得已不应该试。: 不管是spark还是数据库,都只是多机共享数据, 但都谈不上什么结构。: 用这些轮子做“结构”都会很慢。
c*n2017-10-05 07:1016 楼嗯 查查瓶颈到底在哪里时间紧就花钱砸硬件 租个大内存全ssd的机器来跑【在 d**********6 的大作中提到】: 好主意。 这个Python程序并不是computation-intensive。慢估计是别的原因。: 之所以选择Python是因为有两个轮子好用。以前用Java 和 C 比较多。用Python认真地: 写程序还是第一次。 所以来问问。: 谢谢楼上大伙的回复。
t*o2017-10-05 07:1017 楼给你出个馊主意:跟老板说这个做不了 要么花钱买新机器 要么雇俩contractor归你指挥等资源拿到手 就玩命干活 干出来后 不但有credit 还展现了你的team leading能力ps:很多技术问题,首先要避免的就是闷头吭哧吭哧一个人干完。多向南亚人学习【在 d**********6 的大作中提到】: 写了一个小的Python的程序。 在单机上比较慢。现在准备在好多个机器上同时跑这个: 程序。: 问题:有没有现成的Python库,让这些在不同的机器上的Python程序共享数据结构?: 如果其中的一个程序更新了这个数据结构, 别的程序应当能马上看到。: 谢谢。
a*g2017-10-05 07:1018 楼o(∩_∩)o...哈哈!!!有创意i啊。这个?【在 t******o 的大作中提到】: 给你出个馊主意:: 跟老板说这个做不了 要么花钱买新机器 要么雇俩contractor归你指挥: 等资源拿到手 就玩命干活 干出来后 不但有credit 还展现了你的team leading能力: ps:很多技术问题,首先要避免的就是闷头吭哧吭哧一个人干完。多向南亚人学习
w*g2017-10-05 07:1019 楼话是这么说, 但是contractor在这里起了啥作用?难道不应该是逼contractor玩命干活?完了怎么避免contractor取代自己?【在 t******o 的大作中提到】: 给你出个馊主意:: 跟老板说这个做不了 要么花钱买新机器 要么雇俩contractor归你指挥: 等资源拿到手 就玩命干活 干出来后 不但有credit 还展现了你的team leading能力: ps:很多技术问题,首先要避免的就是闷头吭哧吭哧一个人干完。多向南亚人学习
g*t2017-10-05 07:1020 楼培训和指挥人是最麻烦的,如果不是自己的公司,当领导往往是个吃力不讨好的事。有那教别人的时间,还不如花时间教教自己小孩.【在 w***g 的大作中提到】: 话是这么说, 但是contractor在这里起了啥作用?: 难道不应该是逼contractor玩命干活?: 完了怎么避免contractor取代自己?
g*t2017-10-05 07:1022 楼我给的share log文件的办法还是非常糙快猛的。而且很可能是可以解决问题的。log文件是慢,但是可以scale up. 你可以用很多机器。还可以跨语言。跨操作系统。我有3个没人用的laptop,一个desktop,经常用这个办法。起码你先能把分布式任务的逻辑跑通。: 没搞清楚 瓶颈在哪就开始瞎jb优化 一直到7楼才开始回归正题 Lol【在 s*********y 的大作中提到】: 没搞清楚 瓶颈在哪就开始瞎jb优化 一直到7楼才开始回归正题 Lol
d*62017-10-05 07:1023 楼对, 这个项目要的就是糙快猛。最主要的是要先看到那个数据结构长得什么样子。程序的很多地方并不精细。我先试试提高单机的搞法。 若不行, 就试试你的做法。 谢谢。【在 g****t 的大作中提到】: 我给的share log文件的办法还是非常糙快猛的。而且很可能: 是可以解决问题的。: log文件是慢,但是可以scale up. 你可以用很多机器。: 还可以跨语言。跨操作系统。我有3个没人用的laptop,一个desktop,经常用这个办法。: 起码你先能把分布式任务的逻辑跑通。: : : 没搞清楚 瓶颈在哪就开始瞎jb优化 一直到7楼才开始回归正题 Lol:
t*o2017-10-05 07:1024 楼contractor在这里基本起摆设作用,1. 一般来说,很难找到水平高的contractor,除非花大价钱;感觉lz所在的公司不大想能出这个钱;2. 考虑指挥contractor,干活质量监督,擦屁股,开会扯淡,花的时间,跟你自己solo花的时间比较一下,看哪个时间少,就走哪条路。3. contractor摆在这里主要衬托lz的team leading能力,至于私底下到底谁干了活,不重要;重要的是,在老板眼里是你带着一帮人把这活干了。【在 w***g 的大作中提到】: 话是这么说, 但是contractor在这里起了啥作用?: 难道不应该是逼contractor玩命干活?: 完了怎么避免contractor取代自己?
a*n2017-10-05 07:1025 楼这条回复要严肃点赞【在 t******o 的大作中提到】: 给你出个馊主意:: 跟老板说这个做不了 要么花钱买新机器 要么雇俩contractor归你指挥: 等资源拿到手 就玩命干活 干出来后 不但有credit 还展现了你的team leading能力: ps:很多技术问题,首先要避免的就是闷头吭哧吭哧一个人干完。多向南亚人学习