Вы можете ускорить свой код, если добавляете результаты только один раз вместо добавления его части в каждой итерации:
success: function(data) {
if (data[0] == 'nothing') {
$('#search-result').append('<h3>' + LANG.nothing + '</h3>');
$('#ajax-load').empty();
return false;
} else {
var items = [];
jQuery.each(data, function(i, val) {
var entry = "<h3><a href='" + val.link + "'>" +
val.title + '</a></h3>' + '<p>' +
val.description + '</p>' + '<p>' +
val.tutorials + '</p>' + "<img src='" +
val.screenshot + "/>";
items.push('<div class="span-6">' + entry + '</div>'
});
$('#search-result').append(items.join(''));
}
}
Смена DOM - одна из самых медленных операций.
Также, если вы планируете использовать данные, возвращаемые селектором только один раз, нет необходимости присваивать их переменной, но, честно говоря, это не сэкономит вам много времени.