|
19.09.2008, 15:01 | #1 |
Участник
|
Эх, не могу найти. Но была очень хорошая ветка, где обсуждались медленные и быстрые конструкции в X++.
Выявить медленные/быстрые конструкции и сравнить их в разных сервис-паках в пределах одного языка было бы полезно. |
|
19.09.2008, 15:06 | #2 |
Модератор
|
SQL Server 2005 SP2
Мне почему интересно стало про SQL Server 2005 SP2
PHP код:
PHP код:
PHP код:
У кого Delphi или Visual Studio есть? Последний раз редактировалось Poleax; 19.09.2008 в 15:53. |
|
19.09.2008, 15:30 | #3 |
очами вижу
|
У меня потратилось 00:02:30:093 - 2 с половиной минуты. Но SQL-то уж точно не для расчетов.
А вот это: PHP код:
|
|
19.09.2008, 15:40 | #4 |
Модератор
|
Цитата:
выполняется за 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 |
Ищущий знания...
|
У меня 4-ки нет под рукой, не могу протестить, а очень хочется
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
19.09.2008, 15:49 | #6 |
Участник
|
Задачу для тестирования нашли какую-то мелкую
Вот такое Обнаружены 45-е и 46-е числа Мерсенна решить слабО ? |
|
19.09.2008, 22:57 | #7 |
Участник
|
Цитата:
У меня на Ax 3.0 SP6 как и в ax2009 - без инфолога и с инфологом - 5 секунд. Интересно... |
|
19.09.2008, 15:56 | #8 |
Модератор
|
Михаил Андреев
предлагаешь заработать $100 тыс. Сразу скажу SQL Server 2005 не подойдет |
|
05.01.2009, 16:32 | #9 |
Участник
|
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 код:
|
|
05.01.2009, 19:52 | #10 |
Участник
|
В каком режиме? В режиме компиляции в native код?
|
|
05.01.2009, 20:12 | #11 |
Участник
|
|
|
06.01.2009, 15:28 | #12 |
Участник
|
|
|
19.09.2008, 23:39 | #13 |
Участник
|
кстати, протестировал вариант с вложенным методом
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)); } ax4.0 sp2 - 41 сек. ax2009 - 14 сек. изменил for-цикл на while-цикл, оставил вложенный метод, получил ax3.0 sp6 - 19 сек. ax4.0 sp2 - 38 сек. ax2009 - 13 сек. Прикольно. mit, вы похоже пробуете на ax4, так? Спасибо, что натолкнули Poleax на интересную мысль. Poleax, спасибо за неожиданный, но очень конструктивный разворот темы. Надо подумать. |
|
20.09.2008, 01:42 | #14 |
очами вижу
|
Самое первое сообщение в теме:
Цитата:
Об этом может говорить продавец, которому важно продать функционал, а не оптимизированную систему. Естесственно, решение об используемой платформе не может приниматься только на основании производительности. Иначе, все бы писали собственные ERP системы на С++. Я предполагаю, что стандартный функционал Аксапты перекрывает функционал каждой существующей для 1С конфигурации. Именно поэтому Аксапта выглядит предпочтительней 1С. Цитата:
В свете информации о DAX2009 и возможном переводе всей системы на .NET Аксапта выиграет по производительности. Однако такой версии для сравнения я пока не имею. |
|
20.09.2008, 07:16 | #15 |
Участник
|
Ура, 1С сделала систему, которая гоняет циклы за время, сопоставимое с Аксаптой.
Искренне поздравляю. Копайте дальше. "Скорость работы" - это не только целочисленные циклы. Может еще что интересное нароете. Эх, кто-нибудь бы время расчета себестоимости бы сравнил... |
|
20.09.2008, 08:27 | #16 |
очами вижу
|
Цитата:
Приведенный тест показывает время работы примитива "вызов функции" и примитива "цикл". Понятие "пустой цикл" для программиста не существует. Машина в любом случае нагружает процессор. Вопрос в том, насколько оптимально. Начинка цикла нисколько не уменьшит времени его выполнения. Кстати, целочисленная арифметика, про которую вы говорили (i + 1) - это то, из чего строится работа процессора. И складывать числа любой язык программирования должен примерно одинаково (хотя в языках с динамической типизацией, например 1С, время уйдет еще на проверку типа). Вместо того, чтобы критиковать тест, может лучше сравнить время работы массивов и хэш-таблиц? Это тоже примитивы, с которыми работает программист. И от того, насколько оптимально они реализованы, зависит и общее быстродействие приложения. |
|
20.09.2008, 08:36 | #17 |
Участник
|
Цитата:
Цитата:
Это что-то новое. И раньше 1Совцы всячески уходили от сравнения функционала, но хоть говорили о производительности "платформы" в целом. Теперь вот до примитивов скатились. Если вы настаиваете на гордом звании Программист, то чего ж смешиваете "скорость работы системы" и "скорость работы примитивов"? Цитата:
Скорость работы транзакционного приложения зависит не только от скорости работы процессора. Цитата:
Массивы и хеш-таблицы - структуры, которые работают на клиенте. Еще раз перечитайте сообщения fed - "скорость работы транзакционного приложения"... |
|
20.09.2008, 07:43 | #18 |
Moderator
|
По моему опыту, скорость работы транзакционного приложения (каковым и Аксапта, безусловно, является) на 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 |
Участник
|
Аксапте не "позиционируется как компилятор" в машкод.
Вы знаете как была устроена ява когда не было хотспота? |
|
20.09.2008, 17:54 | #20 |
Пенсионер
|
Есть предложение, давай те проверим сколько времени данный код твыполняется в SAP и тут же сделаем вывод что скорость работы 1С выше чем в SAP!
Сравнивать надо сопоставимые вещи! Давайте не будем ездить в булочную на БелАЗе!
__________________
Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
Теги |
1c, производительность, сравнение систем, ax3.0, ax4.0 |
|
|