Articles of optimización de

Funciones transcendentes / trigonométricas rápidas para Java

Dado que las funciones trigonométricas en java.lang.Math son bastante lentas: ¿hay una biblioteca que haga una aproximación rápida y buena? Parece posible hacer un cálculo varias veces más rápido sin perder mucha precisión. (En mi máquina una multiplicación toma 1.5ns, y java.lang.Math.sin 46ns a 116ns). Lamentablemente, todavía no hay una forma de usar las funciones […]

Versión más rápida de búsqueda para vectores ordenados (MATLAB)

Tengo un código del siguiente tipo en MATLAB: indices = find([1 2 2 3 3 3 4 5 6 7 7] == 3) Esto devuelve 4,5,6 – los índices de elementos en la matriz igual a 3. Ahora. mi código hace este tipo de cosas con vectores muy largos. Los vectores siempre están ordenados . […]

Leer archivo como cadena

Necesito cargar un archivo xml como String en android para poder cargarlo en la biblioteca del analizador xml TBXML y analizarlo. La implementación que tengo ahora para leer el archivo como String toma alrededor de 2 segundos incluso para un archivo xml muy pequeño de algunos KB. ¿Hay algún método rápido conocido que pueda leer […]

Proguard con OrmLite en Android

¿Cómo debo usar proguard con la biblioteca ormlite en Android? Probando esto -keep class com.j256.** -keepclassmembers class com.j256.** -keep enum com.j256.** -keepclassmembers enum com.j256.** -keep interface com.j256.** -keepclassmembers interface com.j256.** Pero entiendo: 03-23 ​​20: 23: 54.518: E / AndroidRuntime (3032): java.lang.RuntimeException: no se puede iniciar la actividad ComponentInfo {cz.eman.android.cepro / cz.eman.android.cepro.activity.StationsOverviewActivity}: java .lang.IllegalStateException: no se […]

¿Ejemplos de captura previa?

¿Alguien puede dar un ejemplo o un enlace a un ejemplo que utiliza __builtin_prefetch en GCC (o simplemente la instrucción asm prefetcht0 en general) para obtener una ventaja de rendimiento sustancial? En particular, me gustaría que el ejemplo cumpla con los siguientes criterios: Es un ejemplo simple, pequeño e independiente. Al eliminar la instrucción __builtin_prefetch […]

¿Es el nivel de optimización -O3 peligroso en g ++?

He escuchado de varias fonts (aunque principalmente de un colega mío), que comstackr con un nivel de optimización de -O3 en g ++ es de alguna manera “peligroso”, y debe evitarse en general a menos que se demuestre que es necesario. ¿Es esto cierto, y si es así, por qué? ¿Debo seguir con -O2 ?

Cómo determinar rápidamente si un método se reemplaza en Java

Existe una posible optimización que podría aplicar a uno de mis métodos, si puedo determinar que otro método en la misma clase no se reemplaza. Es solo una ligera optimización, por lo que la reflexión está fuera de cuestión. ¿Debo simplemente hacer un método protegido que devuelva si el método en cuestión está anulado, de […]

¿Calcular eficientemente la intersección de dos conjuntos en Java?

¿Cuál es la forma más eficiente de encontrar el tamaño de la intersección de dos conjuntos no dispersos en Java? Esta es una operación que realizaré en grandes series una gran cantidad de veces, por lo que la optimización es importante. No puedo modificar los conjuntos originales. He observado Apache Commons CollectionUtils.intersection, que parece ser […]

¿Cómo leer el contenido del archivo en istringstream?

Para mejorar la lectura de rendimiento de un archivo, bash leer todo el contenido de un gran archivo (varios MB) en la memoria y luego utilizar un istringstream para acceder a la información. Mi pregunta es, ¿cuál es la mejor manera de leer esta información e “importarla” en el flujo de cadenas? Un problema con […]

Por qué usar StringBuffer en Java en lugar del operador de concatenación de cadenas

Alguien me dijo que es más eficiente usar StringBuffer para concatenar cadenas en Java que usar el operador + para String . ¿Qué pasa debajo del capó cuando haces eso? ¿Qué hace StringBuffer diferente?