En la wikipedia se puede seguir navegando sobre temas afines. Uno muy interesante es una comparación sobre 'wiki software'.
Según me comenta JJ, el mejor es MediaWiki.
exec code[ in globals[,locals]]
http://rankwhere.com/google-page-rank.php?url=cesarob.blogspot.com
from time import time
tini = time()
#----- 0.016
#s = ''
#for i in range(10000):
# s += ' '
#----- 0.006
#l = []
#for i in range(10000):
# l.append(' ')
#s = ''.join(l)
#----- 0.004
#l = [None] * 10000
#for i in range(10000):
# l[i] = ' '
#s = ''.join(l)
#----- 0.007
#import array
#a = array.array('c')
#for i in range(10000):
# a.append(' ')
#s = str(a)
#----- 0.008
#import cStringIO
#io = cStringIO.StringIO()
#for i in range(10000):
# io.write(' ')
#io.seek(0)
#s = io.read()
#----- 0.021
#x = "1"
#y = "2"
#k = "3"
#for i in range(10000):
# oneway = str(x)+' eggs and '+str(y)+' slices of '+k+' ham'
#----- 0.011
#x = "1"
#y = "2"
#k = "3"
#for i in range(10000):
# another = '%s eggs and %s slices of %s ham' % (x, y, k)
#-----
tfin = time()
print (tfin - tini)
# A.py
from B import B
class R:
def __str__(self):
return "hello world"
if (__name__ == "__main__"):
b = B()
b.r = R()
print "b: ",b
from A import R
class B:
def __init__(self):
self.r = R()
def __str__(self):
s = str(self.r)
return s
# A.py
from B import B
class R:
def __str__(self):
return "hello world"
if (__name__ == "__main__"):
b = B()
b.r = R()
print "b: ",b
# B.py
class B:
def __init__(self):
self.r = None
def __str__(self):
s = str(self.r)
return s
import codecs
#Encoding / decoding functions
def encode(latin1_data):
return unicode(latin1_data,'latin-1').encode('utf-8'),len(latin1_data)
def decode(utf8_data):
return unicode(utf8_data,'utf-8').encode('latin-1'),len(utf8_data)
#StreamCodecs
class Codec(codecs.Codec):
def encode(self,latin1_data):
return encode(latin1_data)
def decode(self,utf8_data):
return decode(utf8_data)
class StreamWriter(Codec,codecs.StreamWriter):
pass
class StreamReader(Codec,codecs.StreamReader):
pass
#Codec registry entry point
def getregntry():
return(encode,decode,StreamReader,StreamWriter)
En el proyecto en el que estoy actualmente han usado el primero, pero tampoco fueron conscientes en su momento de la existencia del segundo.
"Aunque la noticia salió hace una semana [escomposlinux.org] en otros sitios [eweek.com] no fue muy comentada.
En las comparativas de rendimiento de hace unos años los mejores servicios de LDAP eran el de Novell y el de Netscape, con mucha diferencia sobre los demás. Lo siento por Openldap, pero nunca es triste la verdad, lo que no tiene es remedio
Si os interesa, el rendimiento de un servidor LDAP de Redhat es muy bueno,
... anteriormente llamado Sun Directory Server,
... anteriormente llamado IPlanet Directory Server,
... anteriormente llamado Netscape Directory Server.
Y si quieres saber los tumbos que ha dado este software tan bueno, de empresa en empresa puedes leer el articulo de la wikipedia sobre IPlanet [wikipedia.org]
El rendimiento no es la única ventaja en este LDAP, los padres de este software (Netscape) pusieron especial énfasis en que satisfaciese los estándares del protocolo, ahora estoy migrándo -por imperativo empresarial- a un producto de Oracle y noto aún más esta característica.
Era necesario que hubiese más de un software de LDAP en el software libre, Openldap es buena solución (sobre todo el cambio de versión 1.x a 2.x) pero no se podía comparar a éste software -ahora de Redhat, pero creado por los de Netscape que fueron un poco los padres del protocolo- ni se podía compara con Novell, que de directorios saben un rato (dicen las malas lenguas que Hasecorp contrató a desarrolladores de Novell para hacer Active Directory)
Una nota final: LDAP es un protocolo, no un servicio. Hablais de servidores de RPC? o servidores SMTP? o servidores HTTP? o decís servicio web? servidores de correo? ...medítese"