CEDET Semantic Analyzer bastante lento en un sistema de otro modo rápido
-
29-10-2019 - |
Pregunta
Configuración de mi prueba: Intel Dual Core 3GHz, Windows XP 32 bit, Emacs 23.2.1, CEDET V1.0 (compilado por los bytes como se describe en los documentos de instalación).
El archivo de inicio de emacs solo consta de estas cuatro líneas:
(load "~/vendor/cedet/common/cedet.el")
(semantic-load-enable-code-helpers)
(require 'semantic-ia)
(global-ede-mode 1)
Al abrir un archivo C ++ que incluye una sola función, completando esa función a través de (símbolo semántico-IA-completado) termina solo después de un retraso notable, incluso después de los intentos repetidos.
Evaluación semantic-analyze-current-context
muestra que la lentitud es causada por el analizador semántico.
Aquí esta la Archivo de resultados ELP despues de correr semantic-elp-analyze
Varias veces, sin cambiar el punto en el búfer. El tiempo total transcurrido siempre se trata 0.6 segundos.
Cuando agrego una declaración de inclusión, como #include <stdio.h>
, los tiempos cambian a 2.5 segundos. Aquí hay un correspondiente Resultado ELP.
Los mismos puntos de referencia nunca tardan más de 0.1 segundos en mi entorno Linux. (Mismo hardware, 23.1 emacs de Debian, CEDET V1.0)
¿Alguna idea de qué podría estar mal con mi configuración?
Solución
Resultó que compilar a Cedet arrojó un montón de errores que no noté al principio:
semantic-analyze.el:178:1:Error: Symbol's value as variable is void: filename
Cual causó la desaceleración al dejar 81 archivos no compilados.
Google sugiere Este error podría estar relacionado con las versiones de EMACS más nuevas que 23.1.
Si usa CEDET-Build.el para compilar CEDET, intente la siguiente solución:
Add (setq filename nil) to the beginning of cedet-build.el