La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Performance Programming

Presentaciones similares


Presentación del tema: "Performance Programming"— Transcripción de la presentación:

1 Performance Programming

2 1 - Definicion y Filosofia
2 - PP en Rails 3 - Performance Tuning

3 Performance Tuning VS Performance Programming
Feature vs Filosofía de programacion. Uno se aplica bajo demanda y el otro en todo momento. Costo de dejar todo para el final. “premature optimization is the root of all evil”

4 Performance Programming
“the best code is no code at all” Al menos 6 tecnicas a tener en cuenta en todo codigo escrito. mejorar requests indices mejorar consultas memoizing evitar metaprog derivar a bkg jobs

5 Requests TCP Slow Start y HS (40 ms promedio conn tcp.) El cuello de botella esta en la cantidad de requests. Minimizar cantidad de requests!

6 Indices Pensar en el indice de un libro. Acceso directo vs Actualizacion y Insercion. Regla general: indexar columnas por las cuales se busca. Foreign Keys, ID y claves que se usen en nuestra app. Ej Usuarios y tel.

7 Consultas a la BD Hacer EL! Envolver en transacciones.
Select cuando sea necesario. Ojo con blank?

8 Memoize

9 La metaprogramacion es lenta
Cuidado al usarla dentro del request life cycle. Lo mas complicado es codigo que define codigo. Porque debe pasar por tokenizing, parsing y ejecucion. Se aplica a todo, tanto definit metodos como usar metodos que definen metodos via method missing. Por ejemplo find_by….

10 Derivar a BKG JOBS Nada costoso puede ir dentro del RLC Lease Procesamiento de imagenes, archivos, requests a Web services, operaciones costosas, envio de s.

11 Performance Tuning Invertir tiempo en serio.
Usar herramientas de profiling para detectar cuello de botella. Salvo que fuera muy evidente, si no no intentar hacerlo a mano. Caching. Minificacion de CSS y JS. CDN.


Descargar ppt "Performance Programming"

Presentaciones similares


Anuncios Google