[image]

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

 
1 19 20 21 22 23 29
+
-
edit
 

Lester

новичок
"Точность результатов вычислений определяется точностью задания чисел" - это правило еще в силе?
   
+
-
edit
 

Lester

новичок
пример вроде

{
if(1) {
print((2+5*(2+1))2)
}
}

уже прогоняет правильно, за полчаса-час добавлю поддержку переменных в выражениях и можно будет бету выкладывать
   
+
-
edit
 

Lester

новичок
code text
  1. {
  2.         A=0;
  3.         while( A < 1E1 )
  4.         {
  5.                 print( A + 1 );
  6.                 A = A + 1E1B2 - 1;
  7.  
  8.                 if( A > 3 ^ 2 - 2 )
  9.                         goto(LABEL);
  10.         }
  11.  
  12.         :LABEL:;
  13. }


тоже отрабатывает
   
+
-
edit
 

Lester

новичок
а есть ли какие либо общие тесты( не те на которых будут в конце прогонять )?, а то боюсь могут быть разночтения стандартов, тот же Сергей к примеру неправильно писал goto label; вместо goto( label );
   
+
-
edit
 

Lester

новичок
вот первая версия( ес-но за такое короткое время все сделать не успел, но вдруг кто хочет посмотреть код и бинарник ), сегодня я еще буду отвечать в форуме, но прогу оставлю на завтра - работа
Прикреплённые файлы:
 
   
+
-
edit
 

Lester

новичок
только что исправил баг с goto( и еще несколько ) и значительно увеличил скорость - но на тесте Сергея

code text
  1. {
  2.     begin=time();
  3.  
  4.     i=0;
  5.     while(i<1000000) {
  6.         a=random(20)-10;
  7.         c=random(20)-10;
  8.         b=random(20)-10;    
  9.         d=b^2-4*a*c;
  10.         if(d>0) {
  11.             d=d^0.5;
  12.         };
  13.         i=i+1;
  14.     };
  15.  
  16.     end=time();
  17.     print(end-begin);
  18. }


мой код все-равно пока проигрывает раз в 5-6 в скорости, прийдется подключить профайлер...

П.С. хотя может то у меня комп такой слабый :)

П.П.С. уже 12секунд( немного, но быстрее ), ушел ковырять дальше...
   
Это сообщение редактировалось 27.08.2008 в 16:24
+
-
edit
 

Lester

новичок
ой я дурак, я ж в релизе оптимизацию не включил - теперь 3.6 сек, но это далеко не предел - процентов 90 времени тратится внутри vector, сейчас заменю его на статичные массивы...

П.С. оказалось профайлер наврал, пока что выдрал еще доли секунды - 3.45

П.П.С. пока больше не буду оптимизировать - завтра после обеда буду функциональность доделывать, вот более быстрая версия:
Прикреплённые файлы:
 
   
Это сообщение редактировалось 27.08.2008 в 18:24
US Сергей-4030 #27.08.2008 18:58  @Lester#27.08.2008 16:34
+
-
edit
 

Сергей-4030

исключающий третье
★★
Lester> ой я дурак, я ж в релизе оптимизацию не включил - теперь 3.6 сек, но это далеко не предел - процентов 90 времени тратится внутри vector, сейчас заменю его на статичные массивы...
Lester> П.С. оказалось профайлер наврал, пока что выдрал еще доли секунды - 3.45
Lester> П.П.С. пока больше не буду оптимизировать - завтра после обеда буду функциональность доделывать, вот более быстрая версия:

Похоже становится доброй традицией со стороны крутых сишных программеров посылать мусор.

code text
  1. {
  2.         a[1]=5;
  3.         b=1;
  4.         print(a[b]);
  5.         a[1+2]aga[1]=2;
  6.         print(a[1+2]aga[1]);
  7.         print(1+2+3+4+5+6+7+8+9+10);
  8. }
  9.  
  10. line: 5
  11.         a[1+2]aga[1]
  12. Syntax error!


code text
  1. {
  2.         b=2^(0-2)^(0-2);
  3.         print(b);
  4. }
  5.  
  6. ')' without '('!



code text
  1. print(1)
  2.  
  3. Unexpected end of file!


code text
  1. {
  2.         a=1;
  3.         b=4;
  4.         c=0-5;
  5.  
  6.         discr = b^2-4*a*c;
  7.  
  8.         root1=(0-b+discr^0.5)/(2*a);
  9.         root2=(0-b-discr^0.5)/(2*a);
  10.  
  11.         print(root1);
  12.         print(root2);
  13. }
  14.  
  15. ')' without '('!


Вы знаете что, товарищи типа сиплюсплюсники? Вы лично меня просто утомили. Не можете - не беритесь, можете - не посылайте мусор. В общем, работать за вас тестером я лично больше не буду.

Кстати, Лестер, а вы лично какой тезис Реконструктора доказать хотите? Что Джава сосет, или что я (как и все java-программисты) не умею программировать?

ЗЫ Впрочем, надо признать, Лестер куда более вменяемый в смысле программирования, чем Реконструктор.
   
Balancer: предупреждение (+1) по категории «Переход на личности»
+
-
edit
 

Lester

новичок
успокойтесь, пожалуйста, я писал всего полдня - [] еще не реализованы к примеру, у вас за полдня уже был готовый 100% рабочий вариант?

насчет этого:

{
b=2^(0-2)^(0-2);
print(b);
}

и

{
a=1;
b=4;
c=0-5;

discr = b2-4*a*c;

root1=(0-b+discr0.5)/(2*a);
root2=(0-b-discr0.5)/(2*a);

print(root1);
print(root2);
}

все работает, попробуйте дебужный вариант, это баг visual'a - если убрать полную оптимизацию все ок, потом разберусь

П.С. дебужный вариант есть во втором архиве
   
US Сергей-4030 #27.08.2008 19:27  @Lester#27.08.2008 19:11
+
-
edit
 

Сергей-4030

исключающий третье
★★
Lester> успокойтесь, пожалуйста, я писал всего полдня - [] еще не реализованы к примеру, у вас за полдня уже был готовый 100% рабочий вариант?

А нахрена вы его выкладываете тогда? Мой первый вариант был готов через два дня и был вполне рабочий. А насчет ваших "полдня" - как-то плохо верится. Особенно после того, как в 12:30 появляется " за полчаса-час добавлю поддержку переменных в выражениях и можно будет бету выкладывать", потом ишшо несколько сообщений и потом в 16:34 после нескольких промежуточных сообщений - "завтра после обеда буду функциональность доделывать". :lol: Впрочем, во-первых - это пофиг, а во-вторых - если прошло два дня лично я говорю - "прошло два дня", а не "прошло полдня".

Lester> если убрать полную оптимизацию все ок, потом разберусь

Прикольная система - С++. Удобная и стабильная. :lol:

ЗЫ Так все-таки, что именно вы доказываете, что Джава - дерьмо, что я - никудышный программист или оба тезиса сразу? А то как-то пока плохо получаются доказательства. По времени - уже почти два дня прошло с вашей готовности начать, а у вас все еще херня какая-то, ошибки лезут всю дорогу - при том, что корректный вариант давно опубликован. По скорости - вроде, сами говорите, что даже еще не догнали по скорости, не то, что перегнали. Что именно мы поимеем после завершения вашей титанической работы?
   
UA Lester #27.08.2008 19:37  @Сергей-4030#27.08.2008 19:27
+
-
edit
 

Lester

новичок
> А нахрена вы его выкладываете тогда?

вы делали намеки, что я сдеру ваш код( хоть я его и в глаза не видел ) - выкладываю, чтоб у вас таких подозрений не было, тем более if, while, goto, присваивания и вычисление сложных выражений работает, насчет print(1) - да лажа, уже исправил, потом бы сам нашел, ну все равно спасибо

> А насчет ваших "полдня" - как-то плохо верится

вы меня раскусили - я еще два года назад начал писать

> Прикольная система - С++. Удобная и стабильная

компилятор != язык

> По времени - уже почти два дня прошло с вашей готовности начать

окститесь, у вас таймер сломан

> По скорости - вроде, сами говорите, что даже еще не догнали по скорости

прочитайте внимательно - догнал

> ЗЫ Так все-таки, что именно вы доказываете, что Джава - дерьмо, что я - никудышный программист или оба тезиса сразу?

что с++-ники вменяемые люди, вы неоднократно делали( и продолжаете делать ) выпады в сторону с++ и программистов пишущих на нем

> Что именно мы поимеем после завершения вашей титанической работы?

вас?
   
US Сергей-4030 #27.08.2008 19:44  @Lester#27.08.2008 19:37
+
-
edit
 

Сергей-4030

исключающий третье
★★
>> А нахрена вы его выкладываете тогда?
Lester> вы делали намеки, что я сдеру ваш код( хоть я его и в глаза не видел ) - выкладываю, чтоб у вас таких подозрений не было, тем более if, while, goto, присваивания и вычисление сложных выражений работает, насчет print(1) - да лажа, уже исправил, потом бы сам нашел, ну все равно спасибо

Совершенно необязательно сдирать код, достаточно содрать общие идеи. Факт в том, что ваш вариант появился после публикации моего, а остальное - спекуляции.

>> А насчет ваших "полдня" - как-то плохо верится
Lester> вы меня раскусили - я еще два года назад начал писать

Ну-ну. Кстати, забыл сказать, я свой вариант писал 8 минут - в пятницу перед обедом.

>> По времени - уже почти два дня прошло с вашей готовности начать
Lester> окститесь, у вас таймер сломан

Ну-ну. Посчитаем когда доделаете.

>> По скорости - вроде, сами говорите, что даже еще не догнали по скорости
Lester> прочитайте внимательно - догнал

Хде это? Последнее, что видел - 3.4 секунды выполнение. У меня на моей машине - чуть более 1 секунды. Ваш вариант, к сожалению, у меня не работает.

>> ЗЫ Так все-таки, что именно вы доказываете, что Джава - дерьмо, что я - никудышный программист или оба тезиса сразу?
Lester> что с++-ники вменяемые люди, вы неоднократно делали( и продолжаете делать ) выпады в сторону с++ и программистов пишущих на нем

У вас, извините, галлюцинации. Я никогда таких дебильных заявлений не делал. Реконструктор - вот он, да, писал, что все, кто пишет на Java - типа лохи. Я - нет, не писал.

>> Что именно мы поимеем после завершения вашей титанической работы?
Lester> вас?

Боюсь вы слишком далеко для этого. А если встретимся - тогда, конечно, всякое возможно, но может вам и не хватить мышечной массы.
   
+
-
edit
 

Lester

новичок
насчет скорости - скачал проверить, на том же тесте в 1000000 итераций на моем железе у вас 5.7сек против моих 3.4, уже хороший выигрыш в скорости
   
US Сергей-4030 #27.08.2008 19:57  @Сергей-4030#27.08.2008 19:44
+
-
edit
 

Сергей-4030

исключающий третье
★★
Сергей-4030> Хде это? Последнее, что видел - 3.4 секунды выполнение. У меня на моей машине - чуть более 1 секунды. Ваш вариант, к сожалению, у меня не работает.

После некоторой модификации - заработал, спасибо. Выдает 2962 на моей машине. Мой вариант - в среднем 1570 на этой машине. С учетом ненативной компиляции. ;) Впрочем, как я понимаю, Джаву из целей вашего благородного гнева вы уже и так исключили?
   
US Сергей-4030 #27.08.2008 19:59  @Lester#27.08.2008 19:52
+
-
edit
 

Сергей-4030

исключающий третье
★★
Lester> насчет скорости - скачал проверить, на том же тесте в 1000000 итераций на моем железе у вас 5.7сек против моих 3.4, уже хороший выигрыш в скорости

А у меня - 1570 на моей против 2962 на вашей. Где-то что-то кто-то упустил. Вы ключик "-server" не забыли включить в мой вариант, случаем? Был тут апдейт от меня, что ключик "-server" надо поставить после слова "java" в interpretator.bat. Вот так:

%JAVA_BIN%\java -server -classpath contest.jar;..\contest.jar -ms200m -mx200m -XX:MaxPermSize=200m com.ssv.test.airbase.contest.Interpretator -f:%1 %2

PS Абидна, да?
   
UA Lester #27.08.2008 20:02  @Сергей-4030#27.08.2008 19:44
+
-
edit
 

Lester

новичок
> Совершенно необязательно сдирать код, достаточно содрать общие идеи. Факт в том, что ваш вариант появился после публикации моего, а остальное - спекуляции.

а ваш вариант появился после того как Билл Гейтс написал интерпретатор Basic, может вы у него идеи содрали? если бы я вдруг и решил содрать( что мне как программисту абсолютно не интересно ), то уж точно не у вас

> Ну-ну. Кстати, забыл сказать, я свой вариант писал 8 минут - в пятницу перед обедом

поздравляю вас гражданин соврамши, перед этим вы утверждали совершенно другое

> Хде это? Последнее, что видел - 3.4 секунды выполнение. У меня на моей машине - чуть более 1 секунды. Ваш вариант, к сожалению, у меня не работает.

см. выше + мой вариант работает на моем .exe, даже на битом релизе

> У вас, извините, галлюцинации. Я никогда таких дебильных заявлений не делал. Реконструктор - вот он, да, писал, что все, кто пишет на Java - типа лохи. Я - нет, не писал.

у вас масса фраз вроде "с крутыми сиплюсплюсными программерами все ясно", если бы вы не делали "таких дебильных заявлений" вы бы не обобщали

> Боюсь вы слишком далеко для этого. А если встретимся - тогда, конечно, всякое возможно, но может вам и не хватить мышечной массы.

вы не так поняли


отпишитесь как нибудь и заканчиваем спамить
   
UA Lester #27.08.2008 20:05  @Сергей-4030#27.08.2008 19:59
+
-
edit
 

Lester

новичок
Lester>> насчет скорости - скачал проверить, на том же тесте в 1000000 итераций на моем железе у вас 5.7сек против моих 3.4, уже хороший выигрыш в скорости
Сергей-4030> А у меня - 1570 на моей против 2962 на вашей. Где-то что-то кто-то упустил. Вы ключик "-server" не забыли включить в мой вариант, случаем? Был тут апдейт от меня, что ключик "-server" надо поставить после слова "java" в interpretator.bat. Вот так:
Сергей-4030> %JAVA_BIN%\java -server -classpath contest.jar;..\contest.jar -ms200m -mx200m -XX:MaxPermSize=200m com.ssv.test.airbase.contest.Interpretator -f:%1 %2
Сергей-4030> PS Абидна, да?

пробовал:
Error: no `server' JVM at `C:\Program Files\Java\jre1.6.0\bin\server\jvm.dll

только не говорите, что для работы вашей программы надо там подправить, там настроить и т.п., и так руками надо вместо %JAVA_BIN% было путь писать
   
US Сергей-4030 #27.08.2008 20:12  @Lester#27.08.2008 20:02
+
-
edit
 

Сергей-4030

исключающий третье
★★
Lester> а ваш вариант появился после того как Билл Гейтс написал интерпретатор Basic, может вы у него идеи содрали? если бы я вдруг и решил содрать( что мне как программисту абсолютно не интересно ), то уж точно не у вас

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

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

Мало ли. Запамятовал. А теперь вот вспомнил. Вы ж тоже говорили, что "полдня", а на практике - даже от "правильно прогоняет" какой-то тест до "завтра после обеда буду заканчивать функциональность" уже прошли те самые полдня (4 часа, половина рабочего дня). А надо думать, и до "правильно прогоняет" чего-то ишшо было, так ведь? Вот вы забыли, что побольше, чем заявляли, времени потратили, а я забыл, что всего 8 минут программировал. :lol:

>> Хде это? Последнее, что видел - 3.4 секунды выполнение. У меня на моей машине - чуть более 1 секунды. Ваш вариант, к сожалению, у меня не работает.
Lester> см. выше + мой вариант работает на моем .exe, даже на битом релизе

Уже разобрались. Мой вариант с серверной Джавой работает примерно в полтора раза быстрее вашего последнего.

>> У вас, извините, галлюцинации. Я никогда таких дебильных заявлений не делал. Реконструктор - вот он, да, писал, что все, кто пишет на Java - типа лохи. Я - нет, не писал.
Lester> у вас масса фраз вроде "с крутыми сиплюсплюсными программерами все ясно", если бы вы не делали "таких дебильных заявлений" вы бы не обобщали

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

>> Боюсь вы слишком далеко для этого. А если встретимся - тогда, конечно, всякое возможно, но может вам и не хватить мышечной массы.
Lester> вы не так поняли
Lester> отпишитесь как нибудь и заканчиваем спамить

Чего именно вам отписаться?
   
US Сергей-4030 #27.08.2008 20:17  @Lester#27.08.2008 20:05
+
-
edit
 

Сергей-4030

исключающий третье
★★
Lester> пробовал:
Lester> Error: no `server' JVM at `C:\Program Files\Java\jre1.6.0\bin\server\jvm.dll
Lester> только не говорите, что для работы вашей программы надо там подправить, там настроить и т.п., и так руками надо вместо %JAVA_BIN% было путь писать

Нет, для работы моей программы надо поставить JDK вместо JRE. А насчет "руками подправить" - уж извините, разные среды выполнения, кто ж виноват, что у вас Java неправильно установлена. Мне вот чтоб вашу программу выполнить приходится Windows ставить, и ничего, не жалуюсь.
   
UA Lester #27.08.2008 20:21  @Сергей-4030#27.08.2008 20:17
+
-
edit
 

Lester

новичок
> Мне вот чтоб вашу программу выполнить приходится Windows ставить, и ничего, не жалуюсь.

я вам могу под Mac OS и Linux собрать
   
US Сергей-4030 #27.08.2008 20:25  @Lester#27.08.2008 20:21
+
-
edit
 

Сергей-4030

исключающий третье
★★
>> Мне вот чтоб вашу программу выполнить приходится Windows ставить, и ничего, не жалуюсь.
Lester> я вам могу под Mac OS и Linux собрать

Гы - в смысле, "для работы вашей программы надо там подправить, там настроить и т.п."? Понятно. А вот мой бинарник можно просто запустить хоть под Маком хоть под Линуксом. Абидна, да?

PS И вы дадите 100%, что после "собирания" у вас программа пойдет под Линуксом и Маком? Прям вот так зуб даете? Без тестирования?
   
UA Lester #27.08.2008 20:29  @Сергей-4030#27.08.2008 20:25
+
-
edit
 

Lester

новичок
>>> Мне вот чтоб вашу программу выполнить приходится Windows ставить, и ничего, не жалуюсь.
Lester>> я вам могу под Mac OS и Linux собрать
Сергей-4030> Гы - в смысле, "для работы вашей программы надо там подправить, там настроить и т.п."? Понятно. А вот мой бинарник можно просто запустить хоть под Маком хоть под Линуксом. Абидна, да?
Сергей-4030> PS И вы дадите 100%, что после "собирания" у вас программа пойдет под Линуксом и Маком? Прям вот так зуб даете? Без тестирования?

> Гы - в смысле, "для работы вашей программы надо там подправить, там настроить и т.п."?

достаточно просто скомпилировать, у меня постоянно на фоне висит andLinux, а под боком всегда включенный macmini

> И вы дадите 100%, что после "собирания" у вас программа пойдет под Линуксом и Маком?

да, я вообще и так и пишу по работе программу под эти три операционки
   

tarasv

аксакал

Lester> пробовал:
Lester> Error: no `server' JVM at `C:\Program Files\Java\jre1.6.0\bin\server\jvm.dll
Lester> только не говорите, что для работы вашей программы надо там подправить, там настроить и т.п., и так руками надо вместо %JAVA_BIN% было путь писать

Сантехники по непонятным лично для меня причинам включают полную весию JRE с поддержкой server JVM только в JDK а public JRE идет только с клиентской JVM. Для того чтобы запустить с -server в %JAVA_BIN% должен быть путь к bin каталогу JDK а не к public JRE.

IMHO это легче поправить чем падения с грохотом каждой второй программы прекрасно работающей при debug сборке после перекомпиляции в Visual C++ не просто в релиз (тут обычно ничего не ломается если сам не накосячишь) а c включением полной оптимизации. ;)
   
Это сообщение редактировалось 27.08.2008 в 22:42
CA tarasv #27.08.2008 20:43  @Сергей-4030#27.08.2008 20:25
+
-
edit
 

tarasv

аксакал

Сергей-4030> Гы - в смысле, "для работы вашей программы надо там подправить, там настроить и т.п."? Понятно. А вот мой бинарник можно просто запустить хоть под Маком хоть под Линуксом. Абидна, да?

Можно подумать что write once debug anywhere это не джавовская поговорочка ;)

Сергей-4030> PS И вы дадите 100%, что после "собирания" у вас программа пойдет под Линуксом и Маком? Прям вот так зуб даете? Без тестирования?

Хочеш программку из 10 строк на джаве работающую под виндой и не работающую под Линукс? Никаких системно опасных вызовов, pure JDBC :D
   

tarasv

аксакал

Lester> все работает, попробуйте дебужный вариант, это баг visual'a - если убрать полную оптимизацию все ок, потом разберусь
Lester> П.С. дебужный вариант есть во втором архиве

Welcome to DLL hell! :D - debug сборка слинкована не статически и падает на машине без Visul Studio.
   
1 19 20 21 22 23 29

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