Como otimizar o código javascript / jquery para acelerar o desempenho?

Em um dos meus projetos da web, eu uso um monte de código javascript / jQuery, que é bastante lento em navegadores (Windows 7 x64), especialmente no IE.

Eu uso 3 pedidos Ajax ao mesmo tempo apenas na página inicial.

Na página de pesquisa, eu também uso solicitações ajax, que são acionadas em eventos de rolagem, em qualquer evento de clique 'tag de pesquisa' (tag de âncora simples) e etc., o que geralmente torna o carregamento de dados muito lento.

Eu uso plugins jQuery como Anythingslider, jquery coockies plugin, Raty (plugin de classificação), Tipsuy, jQuery coreUISelect, jScrollPane, roda do mouse e etc. Todos os plugins de terceiros que eu minifiquei e combinei no arquivo jquery.plugins.js, que é quase 80KB.

Eu seleciono muitos elementos DOM com jQuery. Por exemplo, eu uso o seguinte código:

$("#element")

ao invés de:

document.getElementById('element');

Eu também tenho um grande arquivo CSS, que é mais de 5.000 linhas, porque eu combinei todos os arquivos css de plugins do jQuery de terceiros em um arquivo, para cache e menos solicitações HTTP.

Bem, eu me pergunto, o que posso fazer para otimizar meu código para um melhor desempenho e acelerar o carregamento da página da web?

Que tipo de ferramentas posso usar para depurar e meu código JS? Esqueci de mencionar que, quando atualizo a página no Google Chrome ou Firefox com o Firebug ou as ferramentas de desenvolvedor nativas do Chrome abertas, a página nesse caso também é carregada muito lentamente. Às vezes o Firefox é esmagado.

A seleção de elementos DOM com js brutos me dará uma maneira melhor e mais rápida de analisar o documento? Ou devo sair, o jQuery selecionando? Falar sobre cerca de 50 elementos.

Devo separar e depois disso minify plugins externos, como Anythingslider? Ou é melhor quando eu tenho 'tudo em um' arquivo js?

É melhor também separar o código css dos plugins jQuery do style.css principal? Porque mesmo pairando no elemento e afetando o estado: hover do arquivo css, é bem lento.

Bem pessoal, estou realmente contando com você.

Eu estive navegando a noite toda para encontrar respostas sobre minhas perguntas e realmente espero encontrá-las aqui.

Obrigado.

questionAnswers(4)

yourAnswerToTheQuestion