| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Падение производительности функции
			 
			
			на метод Click  повесил обработку цикла с выводом на экран (в цикле использую случайные числа и вывод print ) 
		
		
		
		
		
		
		
	до 1000 итераций - работет быстро, а потом резко начинает тормозть... с чем это связано ??? логику надо вынести в отдельный класс или функцию ??? почему падает производительность ???  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Соучастник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			попробуйте писать случайное число + текущее время в файл и периодически (например после записи килобайта данных) вызывайте метод finalize. сравните. 
		
		
		
		
		
		
			Хотя может быть дело в реализации генератора случ. чисел... Вы какой класс используете? 
				__________________ 
		
		
		
		
	View Anton Soldatov's LinkedIn profile  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Соучастник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			не знаю, что там резко торомзит... 
		
		
		
		
		
		
			X++: static void Job10(Args _args) { Random myRand = new Random(); int i, k; int t_after, t_now = timeNow(); ; for(i=0;i<1000;i++) { print myRand.nextInt(); } t_after = timeNow(); info(int2str(t_after - t_now)); t_now = timeNow(); for(i=0;i<10000;i++) { print myRand.nextInt(); } t_after = timeNow(); info(int2str(t_after - t_now)); t_now = timeNow(); for(i=0;i<20000;i++) { print myRand.nextInt(); } t_after = timeNow(); info(int2str(t_after - t_now)); t_now = timeNow(); pause; } 
				__________________ 
		
		
		
		
	View Anton Soldatov's LinkedIn profile  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Дело не в самом генераторе случ. чисел... а в факте того что какой-то поределенный промежуток времени функция выполняется очень быстро (ход выполнения отслеживаю через частоту печатанья print "промежуточный результат" например 1000 иттераций из 5000), а потом до конца цикла (оставшиеся 4000) выполняются раз в 10 медленнее... 
		
		
		
		
		
		
		
	может это связано с особенностью именно перекрытия стандартных методов на объекте (например, предполагается что метод click на button должен обрабатываться за 0.1 сек и не дольше) или это связано с тем где выполнятся super() - в начале или в конце функции (метода)  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Соучастник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Изначально опубликовано renat  
может это связано с особенностью именно перекрытия стандартных методов на объекте (например, предполагается что метод click на button должен обрабатываться за 0.1 сек и не дольше) или это связано с тем где выполнятся super() - в начале или в конце функции (метода) сделал форму, переопределил метод clicked у кнопки(тот же самый код, что в пред. пост + super() ), результаты: 2,13,27;2,17,30 
				__________________ 
		
		
		
		
	View Anton Soldatov's LinkedIn profile  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я все понял - я использовал функцию из Класса Dictionary... 
		
		
		
		
		
		
		
	я ее закоментировал и все работает шустро... НО как только я ее вставляю снова то получается результат описанный выше... почему так происходит я не знаю...  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Может просто вы работаете через трехзвенку  и в некоторые моменты кто-то "грузит " сервер приложений ?  Естественно в этот момент, методы выполняемые на сервере будут отрабатывать медленнее.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 |