processing python模式_python学习Processing

标签:

# -*- coding: utf-8 -*-

__author__ = ‘Administrator‘

import bisect

#排序说明:http://en.wikipedia.org/wiki/insertion_sort

#简化一些操作

#1:删减外部调用,降低工作负载

"""

说明:程序复杂度的另一部分是调用其他函数,方法和类所引入的,一般来说,应该尽量将代码放在循环之外,对于嵌套的循环

这点更加重要,不要在一个循环中反复计算可以在循环开始之前计算数值,内循环应该保持简洁.

"""

#2:deque还提供了append 和pop方法,在序列的两端都能以相同的速度执行

#例子2:如下:

from collections import defaultdict,namedtuple

import profile,stat

import sys

s=[(‘a‘,1),(‘b‘,2),(‘c‘,3)]

@profile(‘defaultdict‘)

def faster():

d=defaultdict(list)

for k,v in s:

d[k].append(v)

@profile(‘dict‘)

def slower():

d={}

for k,v in s:

d.setdefault(k,[]).append(v)

print slower(),faster()

print stat[‘dict‘]

print stat[‘defaultdict‘]

lg=defaultdict(long)

print lg[‘one‘]

cus=namedtuple(‘curs‘,‘firsname‘)

c=cus(u‘apped‘,u‘zifoe‘)

print c.firsname

#更多说明

"""

降低复杂度的工作可以通过用算法能很好的地处理高效的数据结构来存储数据实现,也就是说,当解决方法不明显时,应该考虑放弃并且重写出现问题部分,而不是为了性能

而破坏代码的可读性!# -*- coding: utf-8 -*-

__author__ = ‘Administrator‘

import subprocess as process#可移植的能够像线程一样处理的方法

from Processing import Process

#安装它的方法,请看:http://blog.csdn.net/imzoer/article/details/8701116

import os

def work():#它提供了Thread类很像Process类,可以任何平台

print ‘hay i am aprocess id %d‘%os.getpid()

PS=[]

for ii in range(4):

p=Process(target=work)

PS.append(p)

p.start()

for p in PS:

p.join()

#当创建了进程时,将会对内存进行fork,最有效进程使用方式使它们创建之后各自工作,以避免开销,并从线程检查它们的状态,除了内存状态被复制外,Process

#类还在其构造程序中提供了额外的args参数,还可以用来传递所需的数据

#pyprocessing还可以了一个类似于队列的类,可以用来在一个由该包管理的共享内存空间中让多个进程共享数据。

"""

它还提供了ctype和进程之间的对象共享功能,请看:http://pyprocessing.berlios.de/doc/shardctypes.html

"""

#例子2

import Queue as q

print ‘this machine has %d cpus‘\

%processing.cpuCount()

def wo():

f=q.get_nowait()

return ‘workd on‘+f

q=processing.Queue()

pool=processing.Pool()

for i in (‘f1‘,‘f2‘,‘f3‘,‘f4‘,‘f5‘):

q.put(i)

while True:

try:

resut=pool.apply_async(wo)

print resut.get(timeout=1)

except q.Empty:

break

"""

apply_async()方法通过进程池来调用wo函数,并立即返回结果对象,主进程可以将它作为结果返回

get方法可以用来等待结果(具有走进设置)

最后array类和Value类提供了共享内存空间。但是应该通过设计避免使用它们,因为它们会出现代码复杂性.

"""

"""

标签:

原文地址:http://www.cnblogs.com/mhxy13867806343/p/4227255.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值