Что, господа суровые С++ программисты, поспорим быстродействием с отстойной Джавой? ;)

 
1 17 18 19 20 21 29
US Сергей-4030 #22.08.2008 21:57  @Татарин#22.08.2008 21:45
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Татарин> Если ты выложишь проапгрейженый вариант, я протестирую и его и выложу результаты - я не вижу проблем. Тесты на обоих ваших прогах работают одинаковые, результаты - "пройдено или нет" и время - объективны... какая, нафиг, пристрастность?

Ну, честно говоря, это немного некорректно сейчас, когда мой (рабочий!) вариант уже тоже выложен в широкий доступ. Но я не возражаю против продления до изначальных сроков (месяц). Правда, тогда я считаю себя вправе тоже доделать мой вариант.

ЗЫ Но это все фигня, Реконструктор не пойдет на это - потому, что побоится. Он сначала думал, что напишет как-нибудь (хотя, видимо, раньше у него опыта не было). Потом не сумел сделать дизайн (ибо просто не знает, как), запутался в своем спагетти и решил, что Джава отстанет от его кода раз в двадцать - и он сможет сделать хорошую мину при плохой игре (ибо просто малообразован и не знает, что такое нынешняя JVM). А когда получил примерно такое же быстродействие при несравнимом качестве - просто запаниковал. Понял про себя, кто он есть - и обоссался, извините. И теперь будет придумывать всякую херню.

ЗЗЫ Собственно, доказательства уже были. Я предложил сделать скорость решающим и единственным моментом (естественно, при какой-никакой функциональности). Я поставил штуку баков на это. При том, что мой вариант доступен сопернику. При том, что этот вариант рабочий и документированный. При том, что у него несомненная фора в 20%-50% за счет native компиляции. И он - зассал. И я знаю, почему. Во-первых, потому, что безуспешно правя свои спагетти он потерял надежду нормально имплементировать спецификации. Во-вторых - потому, что он по опыту знает, что если я что-то говорю по специальности, то это не пустые бла-бла-бла, как у него.
 
US Сергей-4030 #22.08.2008 22:04  @Татарин#22.08.2008 21:45
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Реконструктор>> У меня настойчивая просьба - если хотите культурно общатся со мной, забейте на конкурс по примеру Татарина и Балансера. В противном случае я больше здесь писать не буду.
Татарин> Не вижу проблем.

А я вижу. В контексте спора - Реконструктор прямо, хотя и этак завуалированно, оскорбил в том числе и меня лично. А потом обосрался. Я полагаю, что имею право обращать на это внимание в любое время, когда мне захочется.
 
US Сергей-4030 #22.08.2008 22:06  @Татарин#22.08.2008 21:45
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Татарин> Григорий... Мне кажется, это несправедливо. ТЫ же выложил, чтобы мы посмотрели. Мы посмотрели, прогнали тесты, сказали, что получилось.

Мало того - Реконструктор не высказал своих претензий по составу комиссии до начала собственно спора, поэтому его нынешние наезды, будто комиссия пристрастна выглядят жалко и позорно.
 
BG Реконструктор #22.08.2008 22:20  @Татарин#22.08.2008 21:45
+
-
edit
 
Татарин> Григорий... Мне кажется, это несправедливо. ТЫ же выложил, чтобы мы посмотрели. Мы посмотрели, прогнали тесты, сказали, что получилось.

Чтобы не было претензий насчет "оно так быстро не может идти". Нормальная реакция неутрального судии должна была быть просто "Выкладывай окончательный продукт или признавай себя проигравшим".

Татарин> Не вижу проблем.

Отлично, забываем про это.
 
US Сергей-4030 #22.08.2008 22:34  @Реконструктор#22.08.2008 22:20
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Реконструктор> Чтобы не было претензий насчет "оно так быстро не может идти".

Ну и бред. Черт те что выдумывает, чтоб выгородить себя. Не побрезгует ничем.

Реконструктор> Нормальная реакция неутрального судии должна была быть просто "Выкладывай окончательный продукт или признавай себя проигравшим".

Ага, сейчас мы будем диктовать "судии", какая нормальная реакция, а какая недостаточно хороша. Впрочем, нормальная реакция, я вижу, может быть только одна - "ты выиграл, дорогой Реконструтор, независимо ни от чего".

Татарин>> Не вижу проблем.
Реконструктор> Отлично, забываем про это.

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

ЗЫ А я не забуду напоминать в случае чего.
 

Murkt

Pythoneer

Реконструктор> Проект, для тех, кому интересно. Не все готово, есть недостатки, может есть и баги, но работать по нему я больше не буду, пока не увижу джава вариант у которого производительность сравнима с моей. Есть некоторые ньюансы синтаксиса языка.

Сергей-4030> Теперь, если запускать server jvm, наш timetest выполняется (на моей машине) за в среднем 1172 тика. Реконструкторов вариант работает примерно 900 тиков.

Ну-у-у? Или проигрыш на 30% - это уже несравнимо?
[team Їжачки - сумні падлюки]  
US Сергей-4030 #23.08.2008 18:26
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Кстати, еще кое-что. Какие были исходные посылки Реконструктора? Их было две, первая - Java тормозная, в разы уступает C++. Вторая - Java программисты* дебилы, не умеют разрабатывать оптимальные алгоритмы. Что имеем в результате? В результате имеем 30% отставание моего варианта от реконструкторова. Забудем про то, что вариант Реконструктора - неработающий мусор и будем считать, что функциональность наших вариантов идентична.

Какие выводы? Их возможно три варианта.

Первый: получается, мною были разработаны настолько более эффективные алгоритмы, чем Реконструкторовы, что преодолели тормоза Java (т.е. мои алгоритмы в разы более эффективны, чем Реконструкторовы). Т.е. Реконструктор как программист по сравнению со мной - просто ноль.

Второй: Мои алгоритмы совершенно отстойные и неэффективные (в разы менее эффективные, чем Реконструкторовы). Тогда получается, что Java даже такой остой может выполнять в разы эффективнее, чем C++ (ибо в результате - сопоставимые времена исполнения).

Как, у господина Реконструктора, хватит смелости прокомментировать свои заявления? Или как обычно?

ЗЫ Третий вариант я не буду озвучивать.

*) Джава программисты на самом деле существуют только в голове отдельных малоквалифицированных товарищей. Я лично вовсе не Java программист. Я разработчик ПО и готов использовать те инструменты, которые лучше подходят в данной предметной области. В частности, на C++ я писал немало. Более того, я скромно считаю, что если бы я писал конкурсную задачку на C++, Реконструктор бы продул ничуть не менее позорно. Вот такой я скромный.
 
US Сергей-4030 #25.08.2008 22:42
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Позволю себе ишшо немножечко покомментировать.

Итак, что делает программа Реконструктора после открытия входного потока? Прежде всего - разбивает на отдельные операторы, т.е. пытается получить вместо одного входного потока массив строк (в каждой строке - отдельный оператор). А конец оператора определяется по наличию/отсутствию символов ":","{","}",";". Уже видно нетривиальный подход, не так ли? Похоже, что стандарная схема сканера типа "nextToken()" Реконструктору просто неизвестна. Следствия из гениальной схемы не заставили себя ждать - Реконструктор, к сожалению, забыл, что по спецификациям ';' разделяют операторы, а не заканчивают. Или просто не врубился, когда списал код откуда-то. И потому тесты типа

{
if(1) {
print(5)
}
}
 


у нас не проходят - ибо мы просто не видим, что print(5) существует - после него ведь нет точки с запятой! Я уж не говорю, что если, не дай бог, позднее придется парсить не только double, но и string константы, этот код просто придется выкидывать и писать по новой (ибо в константах могут быть те самые "волшебные" символы разделения операторов).

Что делаем потом? Потом каждый "оператор" мы пытаемся распарсить. Как? А вот так:

мы берем строчку и сначала пытаемся найти в ней литеру "{" или "}" и если находим - выдаем соответствующий код. Если не нашли - пытаемся найти литеру '=' (и тогда это присваивание), потом ищем '(' - это будет оператор, если опять промахнулись - ищем ':' (тогда это метка). Вот такой вот офигительный парсер у нас получился. Да-да, мало того, что уродливо, так каждую строку (которая была уже просканирована на этапе "разделения операторов" мы сканируем и сканируем и сканируем снова и снова - то один символ там ищем, то другой. Не стоит говорить, как от этого повышается скорость компиляции. :lol: Я думаю, комиссии было бы неплохо натравить конкурсные задания на очень длинные тесты и посмеяться, глядючи на время "компиляции" Реконструкторова варианта. Но, к счастью, Реконструктор благоразумно ограничил максимальный размер программы 256 строками и поэтому такого рода тесты невозможны (в смысле - умирают по GPF).
Также нельзя не отметить изящность кода при разборе выражений вида:

print(a==5)

Реконструкторов вариант полагает, что здесь мы видим оператор присваивания (ну как же, есть символ '=', а его мы проверяем перед символом '(' ). И, соответственно, выпинывает ошибку. От так вот! На самом деле, даже хитрее, Реконструктор полагает, что параметром может быть только переменная, а выражение - низзя!

Также интересен разбор ошибок вида:

{
();
}


Реконструкторов вариант полагает, что мы тут видим вызов функции (ведь есть '(' ! ) И очень обижается, когда не находит такой - прям вплоть до GPF. Впрочем, если сказать:

{
tratata();
}

то ситуация ничуть не лучше - где-то там в глубине на запрос "найти tratata" выдается NULL и Реконструктор этот NULL ничтоже сумнящеся выдает на исполнение.

Вот так вот. Дальше мне было влом смотреть. Но что можно сказать точно - проблемы Реконструктора вовсе не в том, что у него времени не было. Проблемы в том, что он просто не умеет это делать, он - да - полный ноль в программировании. :( Это не проблемы нехватки времени, это проблемы полнейшего неумения делать дизайн. Это убожество он еще называет "более чистым кодом", чем у меня.

Видимо, контролы в формочки он накидывать умеет (или регистры переслать туда-обратно). Тем и живет.

По этому поводу претензии Реконструктора про какие-то недостатки кодирования в моем проекте - это просто ирония судьбы какая-то. :( Однако, это ишшо одно дополнение к "Дилетантизму". Вот ведь пишет чего-то человек, типа про компьютеры, типа притворяется профессионалом. А ведь если бы не этот конкурс - то никто бы и не узнал, хто есть Реконструктор.
 
Это сообщение редактировалось 25.08.2008 в 23:11
US Сергей-4030 #25.08.2008 22:44
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Кстати, вот так выглядит "компиляция" оператора goto:

code text
  1.         else if (strOperator == pszOpGoto)
  2.         {
  3.         }


Так что удивляться, чем заканчивается любой goto когда его выполняет программа Реконструктора - тоже не приходится.
 
US Сергей-4030 #25.08.2008 23:06
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Минитест, убивающий реконструкторов программный комплекс с чистым кодом:

code text
  1. =;


Вот такими великими проблемами смущается "чистый код" на "чистом C++".
 
US Сергей-4030 #25.08.2008 23:12
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Притом заметьте, всю эту фигню Реконструктор делает на вполне даже LL1 грамматике. А была бы посложнее?
 
+
-
edit
 

Balancer

администратор
★★★★☆
Сергей, хватит уже пинать, а то на ум приходит обязательная характеристика двух участников спора, кто из них один и кто другой :)
 
US Сергей-4030 #26.08.2008 02:54  @Balancer#26.08.2008 02:00
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Balancer> Сергей, хватит уже пинать, а то на ум приходит обязательная характеристика двух участников спора, кто из них один и кто другой :)

Реконструктор не постеснялся выпендриться, что у него "чистый код", а у меня - недостаточно отработанный. Поэтому и реакция такая. А посмотрев, как он задачку реализовал - ему не надо было выпендриваться, совершенно никак.
 
+
-
edit
 

Lester

новичок
весь топик не читал, но Сергей-4030 - ты не прав, хоть я и не мега крутой программист, но готов посоревноваться с тобой на новой задачке, согласен?
В стоптанных ботинках годы и окурки, В стираных карманах паспорта и пальцы. Все как у людей.  
BG Реконструктор #26.08.2008 11:27  @Balancer#26.08.2008 02:00
+
-
edit
 
Balancer> Сергей, хватит уже пинать, а то на ум приходит обязательная характеристика двух участников спора, кто из них один и кто другой :)

Тпипичный американский псих. Ему 5 человек присудили победу, включая сам противник, причем трижды, но он все чем-то недоволен.
Насмотрелся на таких за те месяцы, что был там. По моему мнению (и коллег тоже), там каждый второй сидит на коке или каком-то другом стимулянте. Поведение большинства из них далеко выходит за рамки общепринятой для нас нормы.
 
Balancer: предупреждение (+1) по категории «Переход на личности»
US Сергей-4030 #26.08.2008 12:17  @Lester#26.08.2008 11:07
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Lester> весь топик не читал, но Сергей-4030 - ты не прав, хоть я и не мега крутой программист, но готов посоревноваться с тобой на новой задачке, согласен?

На какой? Деньги вперед.
 
US Сергей-4030 #26.08.2008 12:24  @Реконструктор#26.08.2008 11:27
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Реконструктор> Тпипичный американский псих. Ему 5 человек присудили победу, включая сам противник, причем трижды, но он все чем-то недоволен.

Нифига себе. Ты продул, а потом пытаешься изобразить типа все козлы, а ты - д'Артаньян. Отпускаешь какие-то высокомерные сентенции про то, какой у противника уродский код. Какой реакции ты ждешь?
 
BG Реконструктор #26.08.2008 12:26  @Реконструктор#26.08.2008 11:27
+
-
edit
 
Balancer>> За это сообщение пользователь получил предупреждение в +1 балл по категории «Переход на личности».

Нда, видно все еще не научились управлять форумом. :) Я из него снова убываю на очередные несколько месяцев. Пока.
 
UA Lester #26.08.2008 12:35  @Сергей-4030#26.08.2008 12:17
+
-
edit
 

Lester

новичок
Lester>> весь топик не читал, но Сергей-4030 - ты не прав, хоть я и не мега крутой программист, но готов посоревноваться с тобой на новой задачке, согласен?
Сергей-4030> На какой? Деньги вперед.

на любой интересной - сами решайте, насчет денег - это не к месту и не к делу( я не из тех людей кто любит спорить на деньги ), не хотите без денег - ваше дело
В стоптанных ботинках годы и окурки, В стираных карманах паспорта и пальцы. Все как у людей.  
US Сергей-4030 #26.08.2008 13:00  @Lester#26.08.2008 12:35
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Lester>>> весь топик не читал, но Сергей-4030 - ты не прав, хоть я и не мега крутой программист, но готов посоревноваться с тобой на новой задачке, согласен?
Сергей-4030>> На какой? Деньги вперед.
Lester> на любой интересной - сами решайте, насчет денег - это не к месту и не к делу( я не из тех людей кто любит спорить на деньги ), не хотите без денег - ваше дело

Понятно. :lol: То есть, "готов посоревноваться" - это был гон? Соревнуйтесь с Реконструктором.
 
UA Lester #26.08.2008 13:06  @Сергей-4030#26.08.2008 13:00
+
-
edit
 

Lester

новичок
Lester>>>> весь топик не читал, но Сергей-4030 - ты не прав, хоть я и не мега крутой программист, но готов посоревноваться с тобой на новой задачке, согласен?
Сергей-4030> Сергей-4030>> На какой? Деньги вперед.
Lester>> на любой интересной - сами решайте, насчет денег - это не к месту и не к делу( я не из тех людей кто любит спорить на деньги ), не хотите без денег - ваше дело
Сергей-4030> Понятно. :lol:

я думал вы за честный спор, но раз вы начинаете выпендриваться, то просто знайте - я лучше вас, и вы бы проиграли( хотя еще не поздно согласиться... )
В стоптанных ботинках годы и окурки, В стираных карманах паспорта и пальцы. Все как у людей.  
RU Серокой #26.08.2008 13:09
+
-
edit
 

Серокой

координатор
★★★
☤☤
Lester, а вы повторите эту задачу. Хоть исходники были и опубликованы, разобраться в чужом сложнее, чем написать своё, знаю по себе. )
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
UA Lester #26.08.2008 13:10  @Серокой#26.08.2008 13:09
+
-
edit
 

Lester

новичок
Серокой> Lester, а вы повторите эту задачу. Хоть исходники были и опубликованы, разобраться в чужом сложнее, чем написать своё, знаю по себе. )
хорошо - сколько есть времени?
В стоптанных ботинках годы и окурки, В стираных карманах паспорта и пальцы. Все как у людей.  
US Сергей-4030 #26.08.2008 13:12  @Lester#26.08.2008 13:06
+
-
edit
 

Сергей-4030

исключающий третье
★☆
админ. бан
Lester>>>>> весь топик не читал, но Сергей-4030 - ты не прав, хоть я и не мега крутой программист, но готов посоревноваться с тобой на новой задачке, согласен?
Сергей-4030>> Сергей-4030>> На какой? Деньги вперед.
Lester> Lester>> на любой интересной - сами решайте, насчет денег - это не к месту и не к делу( я не из тех людей кто любит спорить на деньги ), не хотите без денег - ваше дело
Сергей-4030>> Понятно. :lol:
Lester> я думал вы за честный спор, но раз вы начинаете выпендриваться, то просто знайте - я лучше вас, и вы бы проиграли( хотя еще не поздно согласиться... )

Разумеется вы лучше. :lol: Я бы безусловно проиграл.

ЗЫ Ну а то, что вы.. ээ... застремались на деньги играть - может, у вас какие принципиальные возражения против игры на деньги, так ведь?
 
RU Серокой #26.08.2008 13:14  @Lester#26.08.2008 13:10
+
-
edit
 

Серокой

координатор
★★★
☤☤
Lester> хорошо - сколько есть времени?

Да я только предложил, тут есть авторитетная комиссия, у которой есть условия задачи. В частности, Татарин. Если они согласятся арбитрировать - почему нет. Время - Сергей писал чуть меньше недели где-то, Реконструктор - около двух-трёх.
Больше не раскалятся ваши колосники. Мамонты пятилеток сбили свои клыки. ©  
1 17 18 19 20 21 29

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru