Комментарии: «js-core» test drive http://www.codeisart.ru/js-core-test-drive/ Статьи по SEO, дизайну и программированию. Переводы на веб-тематику. Исследования и наработки в области интернет-технологий. Fri, 04 Feb 2011 14:26:49 +0000 hourly 1 http://wordpress.org/?v=3.0.4 Автор: Skaizer http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-164 Skaizer Tue, 16 Sep 2008 20:47:29 +0000 http://www.codeisart.ru/?p=583#comment-164 Ну, с JavaScript мне работать не приходится, но если придется, обязательно выберу ;-) Ну, с JavaScript мне работать не приходится, но если придется, обязательно выберу ;-)

]]>
Автор: vflash http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-163 vflash Tue, 16 Sep 2008 20:30:15 +0000 http://www.codeisart.ru/?p=583#comment-163 выбирай, пожалуйста кто вам мешает. выбирай, пожалуйста кто вам мешает.

]]>
Автор: Skaizer http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-162 Skaizer Tue, 16 Sep 2008 19:36:44 +0000 http://www.codeisart.ru/?p=583#comment-162 <blockquote>разработчики jquery ставят одним из основных достоинств не скорость а красоту кода и простату его освоения. $('<pre>blabla</pre>') запомнить проше чем $.n().</blockquote> <b>vflash</b> Забавно :)), а Вы знакомы с понятием свободы выбора? Если разработчика в первую очередь интересует красота кода, а не его оптимизационная часть, то что ему мешает использовать jQuery? <blockquote>что есть функция n? ода надо посмотреть в документации или залезть в код. В случаи jquery можно уже чтота предположить что делает этот код, просто взгянув.</blockquote> <b>man brains</b>? Или про <b>Google</b> может не слышали? )) Вы когда не знаете назначения функции методом тыка определяете для чего она нужна? Поглядел бы я на программиста, который отвергает документацию, и не хочет разбираться в коде.

разработчики jquery ставят одним из основных достоинств не скорость а красоту кода и простату его освоения. $(‘<pre>blabla</pre>’) запомнить проше чем $.n().

vflash Забавно :) ), а Вы знакомы с понятием свободы выбора? Если разработчика в первую очередь интересует красота кода, а не его оптимизационная часть, то что ему мешает использовать jQuery?

что есть функция n? ода надо посмотреть в документации или залезть в код. В случаи jquery можно уже чтота предположить что делает этот код, просто взгянув.

man brains? Или про Google может не слышали? )) Вы когда не знаете назначения функции методом тыка определяете для чего она нужна? Поглядел бы я на программиста, который отвергает документацию, и не хочет разбираться в коде.

]]>
Автор: Octane http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-159 Octane Tue, 16 Sep 2008 17:31:29 +0000 http://www.codeisart.ru/?p=583#comment-159 Попробовал <code>timeBefore = new Date();</code> поставить в начало, результаты практически не отличаются. В случае, если в функцию «jQuery» отправляем строку — HTML-код: <pre><code class="javascript">var tx = ''; for(var i = 0; i < 1000; i++) tx += '<pre class="xxx">' + i + '</pre>'; $(tx).appendTo(document.body);</code></pre> В нормальных браузерах выполняется немного быстрее, но в IE6 наоборот выполнение такого кода намного замедлилось (до ~6500мс). Возможно будет быстрее, если в цикле в массив добавлять строки, а затем выполнить «<code>join</code>», но это уже все не средства фреймворка. Более оптимального кода, написанного под «jQuery» я не нашел. Попробовал timeBefore = new Date(); поставить в начало, результаты практически не отличаются.

В случае, если в функцию «jQuery» отправляем строку — HTML-код:

var tx = '';
for(var i = 0; i < 1000; i++)
  tx += '<pre class="xxx">' + i + '</pre>';
$(tx).appendTo(document.body);

В нормальных браузерах выполняется немного быстрее, но в IE6 наоборот выполнение такого кода намного замедлилось (до ~6500мс). Возможно будет быстрее, если в цикле в массив добавлять строки, а затем выполнить «join», но это уже все не средства фреймворка.

Более оптимального кода, написанного под «jQuery» я не нашел.

]]>
Автор: vflash http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-158 vflash Tue, 16 Sep 2008 17:03:21 +0000 http://www.codeisart.ru/?p=583#comment-158 и еше timeBefore = new Date(); стоило бы поставить перед началом выполнения кода (теста) а не в начале скриптов. и еше timeBefore = new Date(); стоило бы поставить перед началом выполнения кода (теста) а не в начале скриптов.

]]>
Автор: vflash http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-156 vflash Tue, 16 Sep 2008 16:57:57 +0000 http://www.codeisart.ru/?p=583#comment-156 разработчики jquery ставят одним из основных достоинств не скорость а красоту кода и простату его освоения. <code>$('<pre>blabla</pre>')</code> запомнить проше чем <code>$.n()</code>. что есть функция <code>n</code>? ода надо посмотреть в документации или залезть в код. В случаи jquery можно уже чтота предположить что делает этот код, просто взгянув. и если брать jquery то стоило бы и писать адаптированный для него код для теста, это конечно не значительно но всеже оптимизирует код именно для jquery а не под ваш. Вобшем эт не важно так как вы не с теме и не то сравниваете. <pre><code class="javascript">var tx=''; for(var i = 0; i < 1000; i++) tx+='<pre>'+i+'</pre>'; $(tx).appendTo(document.body); // не знаю сработает ли но суть ясна думаю</code></pre> разработчики jquery ставят одним из основных достоинств не скорость а красоту кода и простату его освоения. $('<pre>blabla</pre>') запомнить проше чем $.n(). что есть функция n? ода надо посмотреть в документации или залезть в код. В случаи jquery можно уже чтота предположить что делает этот код, просто взгянув.

и если брать jquery то стоило бы и писать адаптированный для него код для теста, это конечно не значительно но всеже оптимизирует код именно для jquery а не под ваш. Вобшем эт не важно так как вы не с теме и не то сравниваете.

var tx='';
for(var i = 0; i < 1000; i++) tx+='<pre>'+i+'</pre>';
$(tx).appendTo(document.body);
// не знаю сработает ли но суть ясна думаю
]]>
Автор: Octane http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-154 Octane Tue, 16 Sep 2008 15:48:31 +0000 http://www.codeisart.ru/?p=583#comment-154 Зачем Вы примешиваете в тест способ реализации функций фреймворков? То, каким образом они работают, должно в меньшей степени интересовать конечного пользователя (в нашем случае программиста). При сравнении продуктов учитывается имеют ли они средства для решения поставленной задачи и как эффективно с ней справляются. Задача была в цикле, повторяющемся 1000 раз, создавать новый DOM-узел <code><pre></code> с текстом, равным счетчику интераций цикла (i) и добавлять этот узел в конец списка дочерних элементов <code><body></code>. Оба фреймворка включают в себя набор средств для выполнения поставленной задачи. Было измерено время, которое затрачивается. А то, что в «js-core» для создания нового узла выделена специальная функция, а в «jQuery» это делает универсальная функция, которая проводит большой анализ входного параметра — это уже вопрос реализации функционала фреймворка. Мы же можем позволить себе сравнивать «jQuery» и «PrototypeJS» (раз уж «js-core» не считаем пока конкурентом). В обоих продуктах есть сокращенная запись получения ссылки на узел по идентификатору: <pre><code class="javascript">// jQuery var node = $('#id'); // PrototypeJS var node = $('id');</code></pre> и запись вполне похожа. Мы же можем сравнивать скорость выбора элементов по «<code>id</code>»? А то, что «jQuery» окажется медленнее, потому что функция «<code>$()</code>» используется не только в этих целях и приходится выполнять дополнительные проверки, это уже вопрос: «Почему медленнее?». <blockquote>…я тож привел пример что обычная функция которая создает ноду…</blockquote> Функция не фреймворк, естественно отдельно она быстрее. Простой код возможно был бы еще быстрее. Зачем Вы примешиваете в тест способ реализации функций фреймворков? То, каким образом они работают, должно в меньшей степени интересовать конечного пользователя (в нашем случае программиста). При сравнении продуктов учитывается имеют ли они средства для решения поставленной задачи и как эффективно с ней справляются.

Задача была в цикле, повторяющемся 1000 раз, создавать новый DOM-узел <pre> с текстом, равным счетчику интераций цикла (i) и добавлять этот узел в конец списка дочерних элементов <body>.

Оба фреймворка включают в себя набор средств для выполнения поставленной задачи. Было измерено время, которое затрачивается. А то, что в «js-core» для создания нового узла выделена специальная функция, а в «jQuery» это делает универсальная функция, которая проводит большой анализ входного параметра — это уже вопрос реализации функционала фреймворка.

Мы же можем позволить себе сравнивать «jQuery» и «PrototypeJS» (раз уж «js-core» не считаем пока конкурентом). В обоих продуктах есть сокращенная запись получения ссылки на узел по идентификатору:

// jQuery
var node = $('#id');

// PrototypeJS
var node = $('id');

и запись вполне похожа. Мы же можем сравнивать скорость выбора элементов по «id»? А то, что «jQuery» окажется медленнее, потому что функция «$()» используется не только в этих целях и приходится выполнять дополнительные проверки, это уже вопрос: «Почему медленнее?».

…я тож привел пример что обычная функция которая создает ноду…

Функция не фреймворк, естественно отдельно она быстрее. Простой код возможно был бы еще быстрее.

]]>
Автор: vflash http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-153 vflash Tue, 16 Sep 2008 11:07:48 +0000 http://www.codeisart.ru/?p=583#comment-153 прелесть jQuery в отм что через одну функцию $() можно получить очень многое. у вас специальная функция $.n('pre') в которой один параметр который большому анализу не подвергается. у jquery там ужасные регекспы которые эту переменную анализируют. потом если сравнить что возвращает $() (jquery)и $.n() то это обьекты разного масштаба, чем больше обьект тем дольше его создавать. вы привели я тож привел пример что обычная функция которая создает ноду (просто по входящем параметрам) работает в среднем в 1.5-2 раза быстрее вашего. вобщем заметьте какой отрыв моей функции от вашей. не любитель «jQuery» но издеваться над дним такими вот тестами не стоит, не в этом его соль. прелесть jQuery в отм что через одну функцию $() можно получить очень многое. у вас специальная функция $.n(‘pre’) в которой один параметр который большому анализу не подвергается. у jquery там ужасные регекспы которые эту переменную анализируют. потом если сравнить что возвращает $() (jquery)и $.n() то это обьекты разного масштаба, чем больше обьект тем дольше его создавать.

вы привели я тож привел пример что обычная функция которая создает ноду (просто по входящем параметрам) работает в среднем в 1.5-2 раза быстрее вашего.

вобщем заметьте какой отрыв моей функции от вашей. не любитель «jQuery» но издеваться над дним такими вот тестами не стоит, не в этом его соль.

]]>
Автор: Octane http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-151 Octane Tue, 16 Sep 2008 10:24:52 +0000 http://www.codeisart.ru/?p=583#comment-151 Я привел конкретный пример и сравнил скорость выполнения. Причем здесь синтаксис? В каждом фреймворке свои особенности. Да, «jQuery» гораздо функциональнее, я этого и не скрывал, написав это в начале статьи. С тем же успехом можно сказать, когда в «jQuery» будет возможность записать <code>$.n('pre')</code>, чтобы создать новый узел… Фреймворки разные, не смотря на то, что я использую практически те же названия методов, что и в «jQuery». Если нам нужна возможность записать все через <code>$('')</code> берем «jQuery» и пользуемся, создавать его копию я не собираюсь. Я привел конкретный пример и сравнил скорость выполнения. Причем здесь синтаксис? В каждом фреймворке свои особенности. Да, «jQuery» гораздо функциональнее, я этого и не скрывал, написав это в начале статьи. С тем же успехом можно сказать, когда в «jQuery» будет возможность записать $.n('pre'), чтобы создать новый узел… Фреймворки разные, не смотря на то, что я использую практически те же названия методов, что и в «jQuery». Если нам нужна возможность записать все через $('') берем «jQuery» и пользуемся, создавать его копию я не собираюсь.

]]>
Автор: vflash http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-150 vflash Tue, 16 Sep 2008 09:48:59 +0000 http://www.codeisart.ru/?p=583#comment-150 бля, сравнили ж... с пальцем. с темже успехом могу заявить что мой "фреймворк" работает в полтора раза быстрее вашего, 125 против ваших 190 на моей машине. вот когда функционал js-core приблизится к jquery (рас они схожи по интерфейсу), когда в js-core будет написано $('') а не $.n('pre') , тогда можно будет их сравнить. бля, сравнили ж… с пальцем.
с темже успехом могу заявить что мой «фреймворк» работает в полтора раза быстрее вашего, 125 против ваших 190 на моей машине.

вот когда функционал js-core приблизится к jquery (рас они схожи по интерфейсу), когда в js-core будет написано $(») а не $.n(‘pre’) , тогда можно будет их сравнить.

]]>
Автор: Skaizer http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-145 Skaizer Mon, 15 Sep 2008 16:19:13 +0000 http://www.codeisart.ru/?p=583#comment-145 <blockquote>Несколько непрофессионально сравнивать фреймворки подобными синтетическими тестами…</blockquote> <b>Майк</b>, почему, когда они отражают реальную производительность, соответственно и качество написания кода?

Несколько непрофессионально сравнивать фреймворки подобными синтетическими тестами…

Майк, почему, когда они отражают реальную производительность, соответственно и качество написания кода?

]]>
Автор: Майк http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-144 Майк Mon, 15 Sep 2008 14:56:53 +0000 http://www.codeisart.ru/?p=583#comment-144 Несколько непрофессионально сравнивать фреймворки подобными синтетическими тестами... Несколько непрофессионально сравнивать фреймворки подобными синтетическими тестами…

]]>
Автор: adw0rd http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-143 adw0rd Mon, 15 Sep 2008 11:54:01 +0000 http://www.codeisart.ru/?p=583#comment-143 Ayavryk, на http://code.google.com/p/js-core/ вполне нормальная дока, по крайней мере мне :) Ayavryk, на http://code.google.com/p/js-core/ вполне нормальная дока, по крайней мере мне :)

]]>
Автор: Ayavryk http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-142 Ayavryk Mon, 15 Sep 2008 11:15:00 +0000 http://www.codeisart.ru/?p=583#comment-142 >пока он не разросся до jQuery До ExtJS :) Хотелось бы побыстрее дождаться документации >пока он не разросся до jQuery
До ExtJS :)

Хотелось бы побыстрее дождаться документации

]]>
Автор: Octane http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-138 Octane Sun, 14 Sep 2008 22:38:12 +0000 http://www.codeisart.ru/?p=583#comment-138 Спасибо :) надеюсь Вам понравится работать с «js-core» Спасибо :) надеюсь Вам понравится работать с «js-core»

]]>
Автор: adw0rd http://www.codeisart.ru/js-core-test-drive/comment-page-1/#comment-137 adw0rd Sun, 14 Sep 2008 22:23:56 +0000 http://www.codeisart.ru/?p=583#comment-137 Уговорили, попробую ваш фреймворк, пока он не разросся до jQuery :) Уговорили, попробую ваш фреймворк, пока он не разросся до jQuery :)

]]>