Войти

Показать полную графическую версию : [решено] Увелечение нагрузки EXCEL


XOMbl4
16-09-2011, 17:26
Народ вот такая проблема!
Учусь в универе, надо делать курсач по мат. моделированию на программе (на VBA) которую наш зав. каф. написал. Так вот расчеты там шизанутые, сложные, здоровенные, универовские компы от них просто помирают (по пол часа 1 прогон делают, а мне надо собрать данные более чем с 1000 прогонов). Я думал что дома все будет норм быстренько и ладненько. Но не тут то было.....дома машина современная сильная, посильнее универовских калькуляторов разиков в 20! Так моя проблема заколючается в том что когда я запускаю прогу то екселичик тихо и мирно щелкает данные, но огромного прироста скорости выполнения невидно!(время выполнения уменьшилось на 20%) В диспетчере задач у екселя стоит только 25% загрузки процессора, оперативки кушает только 25-60 мб!!! Остальные приложения которые работают параллельно, работают и даже не замечают работы екселя!!!

Так вот вопрос у меня в следующем, можно ли как нибудь заставить ексель брать всю мощность компа, чтобы ещё сократить время выполнения 1 прогона???
Система у меня такая:
проц Intel Core 2 Quad Q9400 2,66Пря
оперативка 3гб DDR3

в параметрах екселя выбрал "Использовать все процессоры данного компьютера: 4"

Помогите люди добрые, бедному студенту!!!

Iska
16-09-2011, 18:30
XOMbl4, лучше выложите исходный код, дабы кто-нибудь посмотрел на него.

XOMbl4
16-09-2011, 18:41
Код скрыт паролем! Возможности его продоставить нету!!

RostVY
16-09-2011, 19:27
можно попробовать увеличить приоритет процесса. Чем-то типа Process Explorer.

XOMbl4
16-09-2011, 21:35
при увелечении приоритета через стандартный дичпетчер задач начинает происходить притормаживание всех других программ, но скорость работы не увеличивается!!! Сейчас пробывал запускать программу на 2-х ядерном камне, так процесс жрет 50%!!! Такое чувство что ексел тупо отказывается работать на нескольких ядрах!!!

Iska
16-09-2011, 22:01
XOMbl4, Excel-то может. Но не везде Multithreaded Recalculation in Excel (http://msdn.microsoft.com/en-us/library/bb687899.aspx):

Excel uses a single main thread to run or execute the following:
* Built-in commands
* XLL commands
* XLL Add-in Manager interface functions (xlAutoOpen function, and so on)
* Microsoft Visual Basic for Applications (VBA) user-defined commands (often referred to as macros)
* VBA user-defined functions
* Built-in thread-unsafe worksheet functions (see the next section (http://msdn.microsoft.com/en-us/library/bb687899.aspx#xl2007xllsdk_threadsafe) for a list)
* XLM macro sheet user-defined commands and functions
* COM add-in commands and functions
* Functions and operators within conditional formatting expressions
* Functions and operators within defined name definitions used in worksheet formulas
* The forced evaluation of an expression in the formula-edit box using the F9 key


Пройдите по ссылке и ознакомьтесь со статьёй целиком. Также стоит посмотреть на секции «Multi-Core Processing» и «Multithreaded Calculation» в Excel 2010 Performance: Performance and Limit Improvements (http://msdn.microsoft.com/en-us/library/ff700514.aspx).

XOMbl4
17-09-2011, 14:00
Короче все понятненько!!! Програмулина писалась уже очень давно! И я так понимаю что там просто недумали о том что булдет несколько ядер!((((
Всем спасибо! Пойду преподу мозг взрывать насчет того что у него прога фуфло))))!!

Delirium
19-09-2011, 00:54
Код скрыт паролем! »
Ну это давно не проблема для документов Excel :)




© OSzone.net 2001-2012