Encontrar una cadena de una lista dentro de una cadena no es lo suficientemente eficiente.
def errorList = readFile WORKSPACE + “/list.txt”
def knownErrorListbyLine = errorList.readLines()
def build_log = new URL (Build_Log_URL).getText()
def found_errors = null
for(knownError in knownErrorListbyLine) {
if (build_log.contains(knownError)) {
found_errors = build_log.readLines().findAll{ it.contains(knownError) }
for(error in found_errors) {
println “ERROR ENCONTRADO: ” + error
}
}
}
Escribí este código para encontrar errores listados en una cadena, pero tarda unos 20 segundos.
¿Cómo puedo mejorar el rendimiento? Me encantaría aprender de esto.
¡Muchas gracias!
list.txt contiene una cadena por línea:
Step … fue FALLIDO
[ERROR] La llamada a Pod-domainrouter falló
@type”:”ErrorExtender
[postDeploymentSteps]… no existe.
etc…
Y los registros de compilación son donde necesito encontrar estos errores.
davy.ai
Para mejorar el rendimiento del código, se pueden seguir algunos enfoques:
En general, estos enfoques pueden mejorar significativamente el rendimiento del código, haciéndolo más rápido y eficiente.