[image]

[Конкурс] Транслятор языка

 
1 2 3 4 5 6 7 13
EE Татарин #06.08.2008 18:02  @Сергей-4030#06.08.2008 16:09
+
-
edit
 

Татарин

координатор
★★★★★
Сергей-4030> А что насчет упрощений арифметики? Комиссия/Реконструктор, вы как? То есть, теперь уже ее реализовать не вопрос, только явно сам изобретать велосипед я не буду, поищу реализацию в интернете. И Реконструктор вряд ли будет, насколько я понимаю. Так что если возможно работать в пределах Double, то я бы лучше так и делал.
Ок, я не особо против: я и сам понимаю, что получился чуток перебор по требуемому времени.
Дело за Рекоснструктором. Конечно, если он откажется, ничего меняться не будет.
Тогда это просто я виноват. :\

Что касается plot'a, смысл был вот в чём: крайние точки на экране занимают его крайние позиции. То есть, если есть окно размером 100х100, и были нарисованы две точки - одна (10,10), другая (11,11) и третья (12,12), то первая точка будет находиться в координатах окна в (0,0), вторая (50,50) и третья в (100,100).
Затея эта ради того, чтобы рисунок можно было в любом случае глазами разглядеть, каковы бы числа ни были.
   
EE Татарин #06.08.2008 18:04
+
-
edit
 

Татарин

координатор
★★★★★
Моё мыло: k580vm80/шарик/mail.ru
   
US Сергей-4030 #06.08.2008 18:57
+
-
edit
 

Сергей-4030

исключающий третье
★★
Ладно, пока что я так отправлю, как есть. То есть, чего там нет - бесконечной точности и масштабирования окна чтоб все точки влезли - вроде как, это вполне minor issue. Дождемся пока что версии Реконструктора, а потом поглядим.

Дисклаймер: не релиз! Баги вполне возможны!
   
US Сергей-4030 #06.08.2008 19:03
+
-
edit
 

Сергей-4030

исключающий третье
★★
Все, отправил. Плиз, не публиковать пока Реконструктор свой вариант не приложит.
   
+
-
edit
 
US Сергей-4030 #06.08.2008 19:10
+
-
edit
 

Сергей-4030

исключающий третье
★★
Ах да, еще - инструкции даны для Windows, если на Linux исполнять - посмотрите файл Interpretator.bat, там все предельно ясно.
   
US Сергей-4030 #06.08.2008 19:12  @Kernel3#06.08.2008 19:05
+
-
edit
 

Сергей-4030

исключающий третье
★★
Kernel3> Получил :)

Работает? :)
   
US Сергей-4030 #06.08.2008 19:16
+
-
edit
 

Сергей-4030

исключающий третье
★★
О, блин, первая проблема - я, оказывается, не печатаю строку, где ошибка. :( Юзерский интерфейс делал в последнюю минуту... :( Если будут проблемы - скажите, я пошлю фикс.

То есть, информация в эксепшене есть, и я когда тестировал всегда имел строку и столбец, а потом решил "почистить" вывод и убрал то, что нужно, тоже. :(
   
US Сергей-4030 #06.08.2008 19:26
+
-
edit
 

Сергей-4030

исключающий третье
★★
Первый фикс послан. :)
   
US Сергей-4030 #06.08.2008 19:44
+
-
edit
 

Сергей-4030

исключающий третье
★★
Кстати, Реконструктор, вы как? У меня, конечно, нет бесконечной арифметики, но при том точность для обычных расчетов вполне достаточная. И скорость вроде тоже вполне приличная получается. Ваша версия - она как, на подходе? Или языком болтать про дебильных джавистов одно дело, а кнопки давить - совсем уже другое? Когда ждать вашу версию?
   
US Сергей-4030 #06.08.2008 19:47
+
-
edit
 

Сергей-4030

исключающий третье
★★
Товарищи комиссия, так запустилось или нет? :)
   
US Сергей-4030 #06.08.2008 20:08
+
-
edit
 

Сергей-4030

исключающий третье
★★
Кстати, о переносимости. Зуб даю, что данные бинарники безо всяких проблем выполнятся на Линуксе. Вот поглядим, какие действия надо будет предпринять, чтоб переносить версию Реконструктора. ;)
   
US Сергей-4030 #06.08.2008 20:12
+
-
edit
 

Сергей-4030

исключающий третье
★★
Кстати, блин, ишшо один баг обнаружил. Вернее, фичу. :( Совершенно автоматически встроил комментарии в язык ( /* */ комментарят содержимое, // комментарит до конца строки). Просто не подумал. :( Типа, сорри, если ишшо не поздно сменить взад - я уберу комментарии. Послать апдейт?
   
RU Kernel3 #06.08.2008 20:16  @Сергей-4030#06.08.2008 19:47
+
-
edit
 

Kernel3

аксакал

Сергей-4030> Товарищи комиссия, так запустилось или нет? :)
Сейчас попробую :) Яву только скачаю :F
   
RU Kernel3 #06.08.2008 20:17  @Сергей-4030#06.08.2008 20:12
+
-
edit
 

Kernel3

аксакал

Сергей-4030> Кстати, блин, ишшо один баг обнаружил. Вернее, фичу. :( Совершенно автоматически встроил комментарии в язык ( /* */ комментарят содержимое, // комментарит до конца строки). Просто не подумал. :( Типа, сорри, если ишшо не поздно сменить взад - я уберу комментарии. Послать апдейт?
ИМХО, не надо :)
   
US Сергей-4030 #06.08.2008 20:22
+
-
edit
 

Сергей-4030

исключающий третье
★★
Ишшо немного про производительность. Тест, приведенный ниже исполняется за 3.702 секунды. Аналог на обычной Java, приведенный еще ниже выполняется за 0.344 секунды. Получается, всего в 11 раз интерпретация медленнее! Если допустить, что на С++ этот код будет выполняться еще в три раза быстрее, чем мой на Java, то Реконструктору надо сделать, чтоб его интерпретатор работал не более чем в 30 раз медленнее, чем native код. Посмотрим-с...


{
    begin=time();

    i=0;
    while(i<1000000) {
        a=random(20)-10;
        c=random(20)-10;
        b=random(20)-10;    
        d=b^2-4*a*c;
        if(d>0) {
            d=sqrt(d);
        };
        i=i+1;
    };

    end=time();
    print(end-begin);
}



package com.ssv.test.brainbench;

import java.util.Date;

public class Test2 {

	public static void main(String[] args) {
	    long begin=(new Date()).getTime();

	    long i=0;
	    while(i<1000000) {
	        double a=Math.random()*20-10;
	        double c=Math.random()*20-10;
	        double b=Math.random()*20-10;    
	        double d=b*b-4*a*c;
	        if(d>0) {
	            d=Math.sqrt(d);
	        };
	        i=i+1;
	    };

	    long end=(new Date()).getTime();
	    System.out.println(i);
	    System.out.println(end-begin);
	}

}
   
US Сергей-4030 #06.08.2008 20:26  @Kernel3#06.08.2008 20:16
+
-
edit
 

Сергей-4030

исключающий третье
★★
Сергей-4030>> Товарищи комиссия, так запустилось или нет? :)
Kernel3> Сейчас попробую :) Яву только скачаю :F

OK! :) Тока не забудь - Java 1.5 и выше. Текущая (какая там - 6, билд №7?)- тоже сойдет.
   
RU Balancer #06.08.2008 20:32  @Сергей-4030#06.08.2008 20:08
+
-
edit
 

Balancer

администратор
★★★★★
Сергей-4030> Кстати, о переносимости. Зуб даю, что данные бинарники безо всяких проблем выполнятся на Линуксе.

Можешь мне выслать для проверки :) balancerbalancer.ru
   
US Сергей-4030 #06.08.2008 20:32  @Сергей-4030#06.08.2008 20:22
+
-
edit
 

Сергей-4030

исключающий третье
★★
Сергей-4030> Ишшо немного про производительность. Тест, приведенный ниже исполняется за 3.702 секунды. Аналог на обычной Java, приведенный еще ниже выполняется за 0.344 секунды. Получается, всего в 11 раз интерпретация медленнее! Если допустить, что на С++ этот код будет выполняться еще в три раза быстрее, чем мой на Java, то Реконструктору надо сделать, чтоб его интерпретатор работал не более чем в 30 раз медленнее, чем native код. Посмотрим-с...

И кстати, это при том, что я оптимизацией скорости выполнения ВААЩЕ не грузился. Ни на секунду. Шел по пути минимального сопротивления. ;) Типа, вот такая отстойная и медленная Java. ;)
   
US Сергей-4030 #06.08.2008 20:36  @Balancer#06.08.2008 20:32
+
-
edit
 

Сергей-4030

исключающий третье
★★
Сергей-4030>> Кстати, о переносимости. Зуб даю, что данные бинарники безо всяких проблем выполнятся на Линуксе.
Balancer> Можешь мне выслать для проверки :) balancerbalancer.ru

Давай, это будет интересно. Выслал!

ЗЫ Тисни результат, особенно если будет отрицательный. Честно говоря, никогда не пробовал эту штуку под Linux.

ЗЗЫ В принципе, наверное, облом таки возможен. Там есть чтение из файла и оно может быть малость системнозависимое... :(
   
US Сергей-4030 #06.08.2008 20:47  @Сергей-4030#06.08.2008 20:32
+
-
edit
 

Сергей-4030

исключающий третье
★★
Сергей-4030> И кстати, это при том, что я оптимизацией скорости выполнения ВААЩЕ не грузился. Ни на секунду. Шел по пути минимального сопротивления. ;) Типа, вот такая отстойная и медленная Java. ;)

Хотя скажем честно, конкретно для этой задачи C++ не многим хуже. Задача хорошо определенная, никаких посторонних требований. Пишется на раз хоть на Java хоть на C++.
   
+
-
edit
 

Kernel3

аксакал

Заработало, timetest выполнилась за 2.5 сек. ровно :)
   
US Сергей-4030 #06.08.2008 21:01  @Kernel3#06.08.2008 20:57
+
-
edit
 

Сергей-4030

исключающий третье
★★
Kernel3> Заработало, timetest выполнилась за 2.5 сек. ровно :)

Хороший компьютер, значить. :) Как, когда комиссия предоставит выводы? После получения решения от Реконструктора? Или у комиссии ишшо будет свое тестирование и code review?
   
RU Kernel3 #06.08.2008 21:05  @Сергей-4030#06.08.2008 21:01
+
-
edit
 

Kernel3

аксакал

Сергей-4030> Как, когда комиссия предоставит выводы? После получения решения от Реконструктора?
Думаю, да :)
Сергей-4030> Или у комиссии ишшо будет свое тестирование и code review?
Эээээ... Предполагается, что баллы именно по результатам этого и будут ставить :)
   
US Сергей-4030 #06.08.2008 21:12  @Kernel3#06.08.2008 21:05
+
-
edit
 

Сергей-4030

исключающий третье
★★
Сергей-4030>> Как, когда комиссия предоставит выводы? После получения решения от Реконструктора?
Kernel3> Думаю, да :)
Сергей-4030>> Или у комиссии ишшо будет свое тестирование и code review?
Kernel3> Эээээ... Предполагается, что баллы именно по результатам этого и будут ставить :)

OK. Кстати, а вот этот тест (ниже) у вас за скоко проходит? Графика медленная, блин, получилась совсем. :(


{
    	begin=time();

	i=0;
	while(i<10000) {
		/* Random populating the circle area R=200. */
		r=random(200);
		if(random(10)>5) 
			r=random(150);
		if(random(10)>5) 
			r=random(100);
		if(random(10)>5) 
			r=random(50);
		a=random(2*pi());				
		x=sin(a)*r;
		y=cos(a)*r;
		c=random(10)*10000+random(10)*100+random(10);
		plot(x+400,y+250,c,i+400);
		i=i+1;
	};

	end=time();
	print(end-begin);
}
   
1 2 3 4 5 6 7 13

в начало страницы | новое
 
Поиск
Поддержка
Поддержи форум!
ЯндексЯндекс. ДеньгиХочу такую же кнопку
Настройки






Статистика
Рейтинг@Mail.ru
АвиаТОП
 
Яндекс.Метрика
website counter
 
free counters