Здравствуйте, CoderMonkey, Вы писали:
I>>К слову о тестах — 1 твой тест не работает
CM>В каком конкретно месте он не работает?
А типа ты не видишь, что я исправил в квиксорте ?
I>>сортировка 4.7 секунды
CM>Ну всё, начались сказки венского леса. На самом деле — 2.5
2.5 это на твоём железе-ос-рантайме. А 4.7 — на моём. Или ты хочешь сказать, что у нас с тобой цифры одинаковые ?
Судя по C# твой энвайрмент побыстрее. Но даже 2.5 с на сортировку это всё равно много.
CM>Вылетает с ошибкой "invalid assignment to const `watch'"
const по меняй на let. Если это трудно, дай знать, я выложу новый вариант
I>>Как видишь, JS уже вполне себе на уровне C# работает, и даже может его обставлять.
CM>Кроме тех случаев, когда его результат внезапно оказывается на три метра ниже уровня плинтуса.
Здравствуйте, alexzzzz, Вы писали:
A>>>Самодельный quick sort непонятно зачем. CM>>Чтобы сравнивать по возможности одинаковый код, естественно.
A>Нафиг не надо.
Предлагаешь запилить рей-трейсинг алгоритм или обработку звука ? Не многовато ли для форумной беседы ?
A> кто будет в реальности писать свою сортировку
В реальности любой алгоритм, который ты будешь писать руками, обладает тем преформансом, который даёт компилятор.
Вот именно это и сравнивается, потому что в ныншнем виде теста влияние рантайма сведено к минимуму.
Еще раз и медленно — сравнивали языки, а не рантаймы, платформы и тд. Как платформы уже и так уже сравнили, см. techempower.
Здравствуйте, alex_public, Вы писали:
_>>>Ну у меня он исполняется 1900 мс (вместо 1600 мс с PadLeft). CM>>У меня — 1667. Похоже, твой "топовый Xeon" неслабо тормозит?
_>Я же уже говорил, что у нас наверняка разные .net рантаймы (у меня 4.6.0081.0). Только вот у большинства пользователей (т.к. сейчас доминирующей десктопной ОС является Win7) стоит ещё даже более старая, чем у меня. )))
По дефолту стоит 4.0, если специально ничего не ставить.
Здравствуйте, alex_public, Вы писали:
_>2. Тебе показался сомнительным данный результат теста, т.к. по твоему утверждению JS медленнее C# в 10-20 раз.
В целом — да. В каждом тесте — нет.
_>3. Для доказательства своего утверждения, ты предложил некий свой тест с созданием и сортировкой массива объектов.
Нет. Я его предложил, как первый эксперимент. "Первый", ключевое слово для самых сообразительных.
_>4. По результатам запуска этого теста (точнее только его начальной части с инициализаций массивов, т.к. код с сортировкой на JS ты не осилил, а писать за тебя код для твоего теста у меня никакого желания нет) мы увидели проигрыш C# в 3 раза на твоей машине и в 8 раз на моей.
А также проигрыш JS в 25 раз на совершенно ровном месте, но эту часть ты и остальные фанаты предпочел не заметить.
Кроме того, обнаружилось, что с замерами на "твоей машине" ты мухлевал.
Здравствуйте, Ikemefula, Вы писали:
I>А у тебя есть обоснование этим десяти разам или будет как с твоим тестом
Открываешь гугловский редактор таблиц и сравниваешь потребление памяти с Экселом. Пастишь туда таблицу 100 x 100 элементов. Просто, не правда ли? Должно быть достаточно просто даже для тебя
I>всю работу за тебя делать?
Это ты про твой "мега-код", который вылетает с ошибкой?
Здравствуйте, CoderMonkey, Вы писали:
I>>А у тебя есть обоснование этим десяти разам или будет как с твоим тестом
CM>Открываешь гугловский редактор таблиц и сравниваешь потребление памяти с Экселом. Пастишь туда таблицу 100 x 100 элементов. Просто, не правда ли? Должно быть достаточно просто даже для тебя
Это эксель. А где аналог на C# ?
I>>всю работу за тебя делать?
CM>Это ты про твой "мега-код", который вылетает с ошибкой?
Я ж не знаю, в каком рантайме ты запускаешь. В отличие от твоего 'алгоритма'...
Здравствуйте, Ikemefula, Вы писали:
I>А типа ты не видишь, что я исправил в квиксорте ?
Исправить что-то от фонаря (и важно надуть щеки) может любой идиот. У тебя есть конкретный пример с данными, который показывает необходимость этой правки?
I>const по меняй на let. Если это трудно, дай знать, я выложу новый вариант
Похоже, что свой код ты даже не запускал и взял цифры с потолка?
Мой результат для твоего JS кода — от 3 до 6 секунд.
I>Ты таких случаев пока не показал.
Здравствуйте, Ikemefula, Вы писали:
I>Например аппаратно ускореный wpf кривой шо сабля. А вообще больше похож на аппаратно замедленный. Как быть?
Используй WinForms или разработанную еще кем-то либу, или запили свою — как это принято делать в JS .
Где здесь "никакого способа обойти нет"?
I>Такие текста ходят про все популярные технологии. I>До кучи — я чисто на js пишу уже пять лет. Ты точно хочешь открыть мне страшную тайну?
Большой вопрос — что конкретно ты там пишешь Очередной чятик или соцсеть?
Здравствуйте, CoderMonkey, Вы писали:
CM>Исправить что-то от фонаря (и важно надуть щеки) может любой идиот. У тебя есть конкретный пример с данными, который показывает необходимость этой правки?
"А у меня работает" — старый аргумент. Ты теперь хочешь, что бы я и тестером поработал?
Я взял из либы стандартную реализацию с таким же разбиением и сравнил с твоим кодом. Все один к одному, кроме рекурсии. Зачем мне искать данные?
I>>const по меняй на let. Если это трудно, дай знать, я выложу новый вариант
CM>Похоже, что свой код ты даже не запускал и взял цифры с потолка? CM>Мой результат для твоего JS кода — от 3 до 6 секунд.
И ты уверен, что на любом рантайме и железе будет тот же результат?
На чем запускаешь, в браузере каком?
I>>Ты таких случаев пока не показал. CM>Глаза протри, родной.
Здравствуйте, CoderMonkey, Вы писали:
_>>4. По результатам запуска этого теста (точнее только его начальной части с инициализаций массивов, т.к. код с сортировкой на JS ты не осилил, а писать за тебя код для твоего теста у меня никакого желания нет) мы увидели проигрыш C# в 3 раза на твоей машине и в 8 раз на моей. CM>А также проигрыш JS в 25 раз на совершенно ровном месте, но эту часть ты и остальные фанаты предпочел не заметить.
Тебе вроде как уже несколько человек сказали, что при тестах производительности надо выбирать самую быструю реализацию на данном языке, а не самую медленную. А то иначе можно доказать что и bash быстрее ассемблера x64...
CM>Кроме того, обнаружилось, что с замерами на "твоей машине" ты мухлевал.
Вообще то ничего не обнаружилось и никакого мухлежа естественно не было. Но ты знаешь, я согласен даже считать что проигрыш C# всего в 3 раза относительно аналогичного JS кода, чтобы не препираться лишний раз. Всё равно итоговая ситуация получается крайне забавной. )))
Здравствуйте, CoderMonkey, Вы писали:
CM>Здравствуйте, Ikemefula, Вы писали:
I>>Это эксель. А где аналог на C# ?
CM>Можно и на C# пример сделать. Но ты ведь будешь юлить и врать про свои цифры, так что смысла не очень то много.
А ты крут — на коленке честный табличный процессор запилить со всеми фичами, как у гугла.
В гуглошитах вагон фич и весь код до единого байтика в памяти. Секешь?
Таскменеджер тебе показывает по экселю не всю память,а только кусочек. Все остальное шарится между всеми приложениями, колонки повключай нужные и охренеешь. Собственно сравнение некорректное.
Здравствуйте, CoderMonkey, Вы писали:
I>>Например аппаратно ускореный wpf кривой шо сабля. А вообще больше похож на аппаратно замедленный. Как быть?
CM>Используй WinForms или разработанную еще кем-то либу, или запили свою — как это принято делать в JS . CM>Где здесь "никакого способа обойти нет"?
В js изначально нет таких всемогуторов, как дотнет фремворк. Перепилить на винформс все приложение? Это ты всерьез решение предложил? Кастомер выпилит тебя из проекта после эстимейта.
I>>Такие текста ходят про все популярные технологии. I>>До кучи — я чисто на js пишу уже пять лет. Ты точно хочешь открыть мне страшную тайну?
CM>Большой вопрос — что конкретно ты там пишешь Очередной чятик или соцсеть?
Здравствуйте, Ikemefula, Вы писали:
I>"А у меня работает" — старый аргумент. Ты теперь хочешь, что бы я и тестером поработал?
Если ты не знаешь и не можешь показать, в чем конкретно "код работает неправильно" — значит, просто балаболишь.
I>И ты уверен, что на любом рантайме и железе будет тот же результат?
Я уверен, что разница в 2-3 раза, причем в одном случае в большую сторону, а в другой раз в меньшую, и оба раза — в твою пользу, то это крайне странно и подозрительно. Ну а поскольку твой код, который ты запостил, даже не запускается — скорее всего, ты просто наврал.
I>На чем запускаешь, в браузере каком?
Здравствуйте, alex_public, Вы писали:
_>Тебе вроде как уже несколько человек сказали, что при тестах производительности надо выбирать самую быструю реализацию на данном языке, а не самую медленную. А то иначе можно доказать что и bash быстрее ассемблера x64...
Сравнивать надо, по возможности, аналоги, а не выбирать "что с чем мне выгоднее сравнить". Иначе грош цена таким сравнениям.
_>Вообще то ничего не обнаружилось и никакого мухлежа естественно не было. Но ты знаешь, я согласен даже считать что проигрыш C# всего в 3 раза относительно аналогичного JS кода, чтобы не препираться лишний раз. Всё равно итоговая ситуация получается крайне забавной. )))
Обнаружилось. Ты взял минимальный возможный замер, а не среднее значение.
Здравствуйте, Ikemefula, Вы писали:
I>А ты крут — на коленке честный табличный процессор запилить со всеми фичами, как у гугла.
Тест запилить могу, естественно. Если ты сумеешь убедить меня, что стоит тратить на тебя время. А пилить именно всё приложение — необязательно.
I>Собственно сравнение некорректное.
Здравствуйте, Ikemefula, Вы писали:
I>В js изначально нет таких всемогуторов, как дотнет фремворк. Перепилить на винформс все приложение? Это ты всерьез решение предложил? Кастомер выпилит тебя из проекта после эстимейта.
То есть, если в JS тебя не устроил какой-то фреймворк и ты решил его заменить, то у тебя это пройдет легко и беспроблемно?
I>Мобильные приложения и кое что серверное.