|  16.01.2004, 15:48 | #1 | 
| Участник | Оптимизация кода X++ 
			
			Что-то я нигде не нашел на данном сайте как оптимизировать код с точки зрения производительности. Мне дали доработать некий класс, который занимается выбрасыванием в текстовый файл некоторой выборки. Время выполнения этого класса очень велико. В оригинале примерно 5тыс записей выводились около 10 минут. Ну хорошо, ввожу я свои исправления в код класса. Но как проверить насколько ускорит (замедлит) моя модификация весь процесс? Сейчас я действую примерно так: PHP код: 
			Как можно оценить насколько реально изменится время выполнения кода? PS: я работаю в 3-х звенке. | 
|  | 
|  16.01.2004, 16:07 | #2 | 
| Дмитрий Ерин | Цитата: 
		
			timenowBegin=timenow();
		
	 Цитата: 
		
			Проблема в том, что если один и тот же код запустить два...три раза подряд, то интервал времени сильно "гуляет". Разница может достигать 50%.
		
	 | 
|  | 
|  16.01.2004, 16:31 | #3 | 
| NavAx | 
			
			Для тестирования запросов удобно пользоваться мониторингом (Сервис - Параметры - SQL). Установите там апертуру и выкидывайте в инфолог медленно выполняющиеся запросы. Double click по запросу в infolog вызывает Мониторинг запросов, в котором можно проанализировать запрос. Посмотрев на план исполнения увидите используются ли индексы, может нужно какой добавить и т.п. 
				__________________ С уважением, Игорь Ласийчук. | 
|  | 
|  16.01.2004, 16:49 | #4 | 
| Участник | 
			
			для оптимизации остального кода пользуйтесь профайлером.
		 | 
|  | 
|  16.01.2004, 18:15 | #5 | 
| Участник | 
			
			По порядку: Цитата: 
		
			Тут надо смотреть тот самый "некий код"...
		
	 Цитата: 
		
			Для тестирования запросов удобно пользоваться мониторингом (Сервис - Параметры - SQL)
		
	 Цитата: 
		
			для оптимизации остального кода пользуйтесь профайлером
		
	 | 
|  | 
|  16.01.2004, 18:32 | #6 | 
| ---------------- | Цитата: 
		
			В данном случае запросы как раз короткие. Просто их очень много. Постоянный повтор в цикле. Это кроме разных if
		
	 Если их кол-во уменьшится, и при этом длительность запросов не возрастет, то вы добились нужного результата. Так как и Аксапта и SQL-сервер умеют кэшировать данные, то запуская на одних и тех же условиях вы будете получать разные времена исполнения, а вот кол-во запросов вряд ли изменится. | 
|  | 
|  16.01.2004, 19:13 | #7 | 
| Участник | Цитата: 
		
			Изначально опубликовано Владимир Максимов  Профайлер - это несколько не то. У меня всего один метод, который очень долго выполняется и мне надо посмотреть сколько времени тратится на выполнение разных его фрагментов. Профайлер показывает время исполнения каждой строки с оператором Х++. Так, у меня появилось подозрение: Вы о каком профайлере говорите? Я о аксаптовском. Меню сервис \ Средства разработки \ профайлер кода. | 
|  | 
|  19.01.2004, 10:47 | #8 | 
| Участник | 
			
			Всем спасибо. Буду разбираться дальше самостоятельно.
		 | 
|  | 
|  19.01.2004, 15:24 | #9 | 
| Участник | 
			
			еще стоит добавить, что если этот "некий" код обращается к БД, то первое его выполнение может быть длинее последующих (за счет кеширования потом)
		 | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Оптимизация класса Tax | 43 | |||
| Оптимизация кода с LedgerTrans | 18 | |||
| Оптимизация кода | 11 | |||
| проблема с настройкой штрихового кода | 4 | |||
| Использование штрихового кода (barcode) в Аксапта | 9 | |||
| 
 |