AXForum  
Вернуться   AXForum > Рынок > Сравнение ERP-систем
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.09.2008, 15:01   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от lev Посмотреть сообщение
с while выполнилось
Эх, не могу найти. Но была очень хорошая ветка, где обсуждались медленные и быстрые конструкции в X++.

Выявить медленные/быстрые конструкции и сравнить их в разных сервис-паках в пределах одного языка было бы полезно.
__________________
полезное на axForum, github, vk, coub.
Старый 19.09.2008, 15:06   #2  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
:) SQL Server 2005 SP2
Мне почему интересно стало про SQL Server 2005 SP2
PHP код:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE 
FUNCTION time2( @n int)
RETURNS int
AS
BEGIN
    
    
RETURN @n+1;

END
GO 
и сам код
PHP код:
declare @startTime  datetime;
declare @
endTime  datetime;
declare @
i int;
declare @
m int;

set @m=5000000
set 
@i=1

set 
@startTime getdate(); 
while (@
i<@m)
begin
    set 
@i=dbo.time2(@i)
end

set 
@endTime getdate();
select convert(varchar, @endTime - @startTime114) as RunTimeconvert(varchar, @startTime114) as StartTimeconvert(varchar, @endTime114) as EndTime, @as I
PHP код:
RunTime                    StartTime                      EndTime                       I
----------------------- ------------------------------ -----------------------      -----------
00:01:40:783              15:00:59:840                 15:02:40:623                 5000000 
Время как видите 1 мин 40 сек

У кого Delphi или Visual Studio есть?

Последний раз редактировалось Poleax; 19.09.2008 в 15:53.
Старый 19.09.2008, 15:30   #3  
RumataEstor is offline
RumataEstor
очами вижу
 
84 / 19 (1) ++
Регистрация: 29.04.2008
Адрес: Москва
Цитата:
Сообщение от Poleax Посмотреть сообщение
SQL: Время как видите 1 мин 40 сек
У меня потратилось 00:02:30:093 - 2 с половиной минуты. Но SQL-то уж точно не для расчетов.

А вот это:
PHP код:
-module(count).
-
compile(export_all).

start() ->
    
statistics(wall_clock),
    
count(05000000),
    {
_T} = statistics(wall_clock),
    
io:format("~w~n", [T]).

count(MM) ->
    
ok;
count(IM) ->
    
count(f(I), M).

f(I) ->
    
1. 
выполняется за 0.515 секунд.
Старый 19.09.2008, 15:40   #4  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
выполняется за 0.515 секунд.
Да уж... нет слов.

Так вот мне все таки интересно почему код static void AEliz_test(Args _args)
на Ax 3.0 SP6 = 8 сек, а на DAX 4.0 SP2 = 17 сек

У кого так же 3-ка и 4-ка по разному считают? или у меня что то с Аксаптой 4? Как на счет DAX 2009? Кому не лень проверить.. чистое любопытство.

Последний раз редактировалось Poleax; 19.09.2008 в 15:48. Причина: DAX 2009
За это сообщение автора поблагодарили: mazzy (5).
Старый 19.09.2008, 15:43   #5  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от Poleax Посмотреть сообщение
У кого так же 3-ка и 4-ка по разному считают? или у меня что то с Аксаптой 4?
У меня 4-ки нет под рукой, не могу протестить, а очень хочется
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 19.09.2008, 15:49   #6  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,284 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
Задачу для тестирования нашли какую-то мелкую
Вот такое
Обнаружены 45-е и 46-е числа Мерсенна


решить слабО ?
__________________
Михаил Андреев
https://www.amand.ru
Старый 19.09.2008, 22:57   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Poleax Посмотреть сообщение
Так вот мне все таки интересно почему код static void AEliz_test(Args _args)
на Ax 3.0 SP6 = 8 сек, а на DAX 4.0 SP2 = 17 сек

У кого так же 3-ка и 4-ка по разному считают? или у меня что то с Аксаптой 4? Как на счет DAX 2009? Кому не лень проверить.. чистое любопытство.
Мне кажется, что вот это гораздо интереснее.
У меня на Ax 3.0 SP6 как и в ax2009 - без инфолога и с инфологом - 5 секунд.

Интересно...
__________________
полезное на axForum, github, vk, coub.
Старый 19.09.2008, 15:56   #8  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Михаил Андреев
предлагаешь заработать $100 тыс.
Сразу скажу SQL Server 2005 не подойдет
Старый 05.01.2009, 16:32   #9  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
C# 3.0 .NET 3.5 (VS2008)
Прикола ради решил померить в C# . Или я что-то не так мерил или для .Net подобный код, как "слону дробина". Кстати, несколько запусков подряд могут дать немного разный результат в миллисекундах, видимо это зависит от каких то там процессов протекающих в компе. Но в целом аналог Job-а AEliz_test выполняется существенно меньше секунды.


===
Итераций: 5000000, Секунд 0, Mиллисекунд 47
Итераций: 50000000, Секунд 0, Mиллисекунд 391
Итераций: 500000000, Секунд 4, Mиллисекунд -94 (поленился я все приводить к какой то одной единице, хотя для 500 000 000 скорее показательны секунды)
===

Мерил так:

PHP код:
class OperationPerformance
    
{
        public 
Int64 ij;

        const  
Int64 multiplierBase 5000000

        public 
void ipp()
        {
            
this.i++;
        }
        public 
OperationPerformance(Int64 multiplier)
        {
            if (
multiplier == 0)
                
multiplier 1;
                    
            
this.0;
            
this.multiplierBase multiplier;            

        }
        static 
void Main(string[] args)
        {
            
OperationPerformance PerformanceTest = new OperationPerformance(1);
            
DateTime             startTimeendTime;
            

            
startTime System.DateTime.UtcNow;
            
            while (
PerformanceTest.PerformanceTest.j)            
                
PerformanceTest.ipp();
                            
            
endTime   System.DateTime.UtcNow;



            
Console.WriteLine("Итераций: {0}, Секунд {1}, Mиллисекунд {2}"
                              
PerformanceTest.j
                              
endTime.Second startTime.Second
                              
endTime.Millisecond startTime.Millisecond);
            


            
Console.ReadLine();



        }
    } 
Старый 05.01.2009, 19:52   #10  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Lemming Посмотреть сообщение
Прикола ради решил померить в C# .
В каком режиме? В режиме компиляции в native код?
__________________
полезное на axForum, github, vk, coub.
Старый 05.01.2009, 20:12   #11  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
?
Цитата:
Сообщение от mazzy Посмотреть сообщение
В каком режиме? В режиме компиляции в native код?
Честно говоря не силен в таких тонкостях...Просто набрал код в VS и посмотрел результаты, было бы интересно узнать на что обратить внимание при подобных тестах?
Старый 06.01.2009, 15:28   #12  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Lemming Посмотреть сообщение
Честно говоря не силен в таких тонкостях...Просто набрал код в VS и посмотрел результаты, было бы интересно узнать на что обратить внимание при подобных тестах?
оно вроде всегда в нейтив компиолируется. но можно сохранить это скомпилированное при помощи утилиты ngen
Старый 19.09.2008, 23:39   #13  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
кстати, протестировал вариант с вложенным методом
X++:
static void AEliz_test(Args _args)
{
    int i = 5000000;
    int i1;
    int stratTime, endTime, runTime;

    int test(int n)
    {
        return n+1;
    }
    ;

    stratTime   = timeNow();

    for(i1=1;i1<i;i1++)
    {
        test(i1);
    }
    endTime     = timeNow();

    runTime     = endTime - stratTime;

    info(time2str(runTime, 1,1));
}
ax3.0 sp6 - 21 сек.
ax4.0 sp2 - 41 сек.
ax2009 - 14 сек.

изменил for-цикл на while-цикл, оставил вложенный метод, получил
ax3.0 sp6 - 19 сек.
ax4.0 sp2 - 38 сек.
ax2009 - 13 сек.

Прикольно.

mit, вы похоже пробуете на ax4, так?
Спасибо, что натолкнули Poleax на интересную мысль.
Poleax, спасибо за неожиданный, но очень конструктивный разворот темы. Надо подумать.
__________________
полезное на axForum, github, vk, coub.
Старый 20.09.2008, 01:42   #14  
RumataEstor is offline
RumataEstor
очами вижу
 
84 / 19 (1) ++
Регистрация: 29.04.2008
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
mit, вы похоже пробуете на ax4, так?
Самое первое сообщение в теме:
Цитата:
Сообщение от mit Посмотреть сообщение
Таким образом локальные вычисления в DAX происходят в 4.4 раза медленнее

1C 7.7 + компонента 1С++
DAX 4.0
Вообще, программист не должен говорить "скорость выполнения задачи, решаемой данной системой", когда разговор идет о таких базовых понятиях, как например, вызов функции - тех операций, которые он использует в любых системах для решения конкретных задач.
Об этом может говорить продавец, которому важно продать функционал, а не оптимизированную систему.

Естесственно, решение об используемой платформе не может приниматься только на основании производительности. Иначе, все бы писали собственные ERP системы на С++.
Я предполагаю, что стандартный функционал Аксапты перекрывает функционал каждой существующей для 1С конфигурации. Именно поэтому Аксапта выглядит предпочтительней 1С.

Цитата:
Сообщение от mazzy Посмотреть сообщение
ax3.0 sp6 - 21 сек.
ax4.0 sp2 - 41 сек.
ax2009 - 14 сек.

изменил for-цикл на while-цикл, оставил вложенный метод, получил
ax3.0 sp6 - 19 сек.
ax4.0 sp2 - 38 сек.
ax2009 - 13 сек.
Похоже, что скорость работы 1С сопоставима с AX3.
В свете информации о DAX2009 и возможном переводе всей системы на .NET Аксапта выиграет по производительности. Однако такой версии для сравнения я пока не имею.
Старый 20.09.2008, 07:16   #15  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от RumataEstor Посмотреть сообщение
Похоже, что скорость работы 1С сопоставима с AX3.
Ура, 1С сделала систему, которая гоняет циклы за время, сопоставимое с Аксаптой.
Искренне поздравляю.

Копайте дальше. "Скорость работы" - это не только целочисленные циклы.
Может еще что интересное нароете.

Эх, кто-нибудь бы время расчета себестоимости бы сравнил...
__________________
полезное на axForum, github, vk, coub.
Старый 20.09.2008, 08:27   #16  
RumataEstor is offline
RumataEstor
очами вижу
 
84 / 19 (1) ++
Регистрация: 29.04.2008
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
Ура, 1С сделала систему, которая гоняет циклы за время, сопоставимое с Аксаптой.
Искренне поздравляю.

Копайте дальше. "Скорость работы" - это не только целочисленные циклы.
Может еще что интересное нароете.

Эх, кто-нибудь бы время расчета себестоимости бы сравнил...
Программист сравнивает время работы примитивов, предоставляемых языком программирования. А не время работы бизнес-функций.

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

Кстати, целочисленная арифметика, про которую вы говорили (i + 1) - это то, из чего строится работа процессора. И складывать числа любой язык программирования должен примерно одинаково (хотя в языках с динамической типизацией, например 1С, время уйдет еще на проверку типа).

Вместо того, чтобы критиковать тест, может лучше сравнить время работы массивов и хэш-таблиц? Это тоже примитивы, с которыми работает программист. И от того, насколько оптимально они реализованы, зависит и общее быстродействие приложения.
Старый 20.09.2008, 08:36   #17  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от fed Посмотреть сообщение
По моему опыту, скорость работы транзакционного приложения (каковым и Аксапта, безусловно, является) на 80-85% определяется ожиданием завершения операции базой данных.
Во-во...

Цитата:
Сообщение от RumataEstor Посмотреть сообщение
Программист сравнивает время работы примитивов, предоставляемых языком программирования. А не время работы бизнес-функций.
Понятно. Администратор SQL сравнивает время выполнения запросов. Администратор сети сравнивает время прохождения пакетов по сети. И т.п.

Это что-то новое.
И раньше 1Совцы всячески уходили от сравнения функционала, но хоть говорили о производительности "платформы" в целом. Теперь вот до примитивов скатились.

Цитата:
Сообщение от RumataEstor Посмотреть сообщение
Похоже, что скорость работы 1С сопоставима с AX3.
Если вы настаиваете на гордом звании Программист, то чего ж смешиваете "скорость работы системы" и "скорость работы примитивов"?

Цитата:
Сообщение от RumataEstor Посмотреть сообщение
Кстати, целочисленная арифметика, про которую вы говорили (i + 1) - это то, из чего строится работа процессора. И складывать числа любой язык программирования должен примерно одинаково (хотя в языках с динамической типизацией, например 1С, время уйдет еще на проверку типа).
Нет. Думайте дальше.
Скорость работы транзакционного приложения зависит не только от скорости работы процессора.

Цитата:
Сообщение от RumataEstor Посмотреть сообщение
Вместо того, чтобы критиковать тест, может лучше сравнить время работы массивов и хэш-таблиц? Это тоже примитивы, с которыми работает программист. И от того, насколько оптимально они реализованы, зависит и общее быстродействие приложения.
Вам же говорят - мало от этого зависит.
Массивы и хеш-таблицы - структуры, которые работают на клиенте.
Еще раз перечитайте сообщения fed - "скорость работы транзакционного приложения"...
__________________
полезное на axForum, github, vk, coub.
Старый 20.09.2008, 07:43   #18  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,895 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
По моему опыту, скорость работы транзакционного приложения (каковым и Аксапта, безусловно, является) на 80-85% определяется ожиданием завершения операции базой данных. Поэтому трехкратный (например) прирост скорости интерпретации кода X++ даст всего-лишь 5-7% выигрыша в производительности. Вот собственно и вопрос - стоит ли вкладывать время и деньги в оптимизацию интерпретатора (кстати с шансами поломать совместимость), если при замене СУБД на более современную (скажем - SQL 2005 на SQL 2008 или Oracle 10 на Oracle 11), можно на том же железе добиться более существенного выигрыша в производительности ? А если очень хочется из Аксапты какие-то сложные вычислительные задачи порешать, так по моему проще написать DLL-ку на C++. Кстати и готовую (и бесплатную) матбиблиотеку или просто отдельную функцию для C++ найти гораздо проще.

Последний раз редактировалось fed; 20.09.2008 в 10:37.
За это сообщение автора поблагодарили: mazzy (2), Logger (3).
Старый 20.09.2008, 13:26   #19  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Аксапте не "позиционируется как компилятор" в машкод.

Вы знаете как была устроена ява когда не было хотспота?
Старый 20.09.2008, 17:54   #20  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Есть предложение, давай те проверим сколько времени данный код твыполняется в SAP и тут же сделаем вывод что скорость работы 1С выше чем в SAP!
Сравнивать надо сопоставимые вещи!
Давайте не будем ездить в булочную на БелАЗе!
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Теги
1c, производительность, сравнение систем, ax3.0, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Regulatory Reporting Setup for Microsoft Dynamics AX (Russia) (DAX 40/ DAX 2009) Poleax Microsoft и системы Microsoft Dynamics 0 07.04.2009 15:38
Программирование в DAX 3-4-5 otkudao Рынок труда Microsoft Dynamics 4 17.11.2008 10:42
Позиционирование DAX и NAV slava09 Microsoft и системы Microsoft Dynamics 27 21.08.2008 16:41
1C:Бухгалтерия локализована во Вьетнаме :-) Сисой Другие системы на рынке 0 31.01.2007 15:10
опять 1C: чисто технические аспекты... ushastik Сравнение ERP-систем 45 30.01.2004 13:04

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:45.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.