Estoy escribiendo una secuencia de comandos en Python que permitirá al usuario ingresar una cadena, que será un comando que indica al script que realice una acción específica. Por el bien del argumento, voy a decir mi lista de comandos es:manera más rápida de comparar cadenas en python
lock
read
write
request
log
Ahora, quiero que el usuario sea capaz de introducir la palabra "log" y se peform una acción específica, que es muy simple . Sin embargo, me gustaría hacer coincidir palabras parciales. Entonces, por ejemplo, si un usuario ingresa "lo", debe coincidir con "bloquear", ya que está más arriba en la lista. He intentado usar strncmp desde libc usando ctypes para lograr esto, pero aún tengo que hacer cara o cruz.
¿Cuánto realmente importa la velocidad? Suponiendo que esto se ejecuta una sola vez cuando el usuario ingresa un comando y ejecuta un pequeño conjunto de comandos (menos de 1000), incluso la implementación más ineficiente (práctica) regresará en menos de un milisegundo, lo que aparecerá de manera instantánea al usuario. –
Esta es una aplicación de red que se ejecuta en el marco Twisted, y puede tener hasta 50 usuarios que ingresan comandos al mismo tiempo, por lo que podría haber un retraso potencial si los 50 están ingresando comandos y estoy analizando ineficazmente. –
trenzado es roscado. todavía no notarás ningún impacto. la mayoría de las computadoras pueden comparar 10,000 o más cuerdas en el tiempo que le lleva a su dedo presionar una tecla. Esto se llama optimización prematura, estás perdiendo el tiempo con trivialidades. – SpliFF