Si hablamos de investigación, ¡sin duda se trata de COMPILADORES!
El campo del compilador está estrechamente integrado con muchas otras disciplinas de ciencias de la computación, a saber, arquitectura de computadoras, lenguajes de programación, métodos formales, ingeniería de software y seguridad informática . La investigación en compiladores se utiliza para facilitar el desarrollo de software y hardware, y mejorar el rendimiento de la aplicación.
Hoy, el mayor desafío para la sociedad compiladora es la creciente complejidad de las máquinas y el software y la introducción de los procesadores multi-core . Para mejorar el rendimiento de la aplicación, es esencial explorar el hardware paralelo a gran escala. Pero la pregunta es, “¿cómo permitir la explotación del poder de la máquina objetivo, incluido su paralelismo? ”
- Si estoy interesado en una carrera tecnológica, ¿debería elegir informática o ingeniería informática?
- ¿Debo llevarlo en COEP si no estoy entrando en CS, a pesar de que quería seguir CS?
- ¿Qué pueden hacer los codificadores con una computadora?
- ¿Qué quieren exactamente las empresas cuando mencionan algo como "Buenas habilidades en C ++" como requisito de trabajo?
- ¿Cómo me convierto en un mejor desarrollador front-end? He estado escribiendo HTML y CSS básicos durante años, pero realmente quiero / necesito intensificar mi juego. ¿Cuál es la mejor manera de subir de nivel mis habilidades?
Por ejemplo, el hardware puede controlar solo unas pocas instrucciones a la vez y esas instrucciones también están localizadas; entonces, las técnicas de hardware pueden o no ser capaces de encontrar mucho paralelismo. Además, inevitablemente hay una demora en el hardware para detectar los cambios rápidos de fase y ajustar en consecuencia. Sin embargo, el compilador disfruta de un control total sobre toda la aplicación. Por lo tanto, el compilador tiene una mejor oportunidad para producir un código de objeto optimizado muy eficiente.
Tomando un ejemplo más simple, la eficiencia y efectividad de muchas optimizaciones realizadas por el hardware depende de sus propias predicciones que se basan en el comportamiento pasado de la aplicación. Sin embargo, los compiladores pueden ver el futuro. Es decir, la optimización del compilador es más adaptable a los requisitos cambiantes del programa y las decisiones tomadas son más confiables, lo que resultaría en pérdidas de rendimiento menores. ¡Por lo tanto, el compilador es capaz de traer la revolución en el hardware !
¡Por lo tanto, las oportunidades de investigación en Compiladores son abrumadoras!