ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Performance Improvements while using RTD (https://www.excelbanter.com/excel-programming/347889-performance-improvements-while-using-rtd.html)

[email protected]

Performance Improvements while using RTD
 
Hi All,
What is the best way to update each individual topic on an excelsheet?
All examples which i have found are updating all topics instead of a
single topic. This makes my excel very very slow.

Can someone help?


STEVE BELL

Performance Improvements while using RTD
 
Please explain what a "topic" is!

--
steveB

Remove "AYN" from email to respond
wrote in message
oups.com...
Hi All,
What is the best way to update each individual topic on an excelsheet?
All examples which i have found are updating all topics instead of a
single topic. This makes my excel very very slow.

Can someone help?




Tom Ogilvy

Performance Improvements while using RTD
 
http://support.microsoft.com/default...b;en-us;289150
HOW TO: Set Up and Use the RTD Function in Excel 2002

Similar to DDE as I understand it.

--
Regards,
Tom Ogilvy


"STEVE BELL" wrote in message
news:umknf.9540$Ea6.9370@trnddc08...
Please explain what a "topic" is!

--
steveB

Remove "AYN" from email to respond
wrote in message
oups.com...
Hi All,
What is the best way to update each individual topic on an excelsheet?
All examples which i have found are updating all topics instead of a
single topic. This makes my excel very very slow.

Can someone help?






Leith Ross[_374_]

Performance Improvements while using RTD
 

Hello aadyaa,

I am assuming the RTD is a resistence temperature detector and you are
using Dynamic Data Exchange (DDE) to update your worksheet. What system
is Excel communicating with? Your host system may not support individual
updates. You should check your manuals first.

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile: http://www.excelforum.com/member.php...o&userid=18465
View this thread: http://www.excelforum.com/showthread...hreadid=492692


STEVE BELL

Performance Improvements while using RTD
 
Thanks Tom,

Afraid this concept is out of my reach...

--
steveB

Remove "AYN" from email to respond
"Tom Ogilvy" wrote in message
...
http://support.microsoft.com/default...b;en-us;289150
HOW TO: Set Up and Use the RTD Function in Excel 2002

Similar to DDE as I understand it.

--
Regards,
Tom Ogilvy


"STEVE BELL" wrote in message
news:umknf.9540$Ea6.9370@trnddc08...
Please explain what a "topic" is!

--
steveB

Remove "AYN" from email to respond
wrote in message
oups.com...
Hi All,
What is the best way to update each individual topic on an excelsheet?
All examples which i have found are updating all topics instead of a
single topic. This makes my excel very very slow.

Can someone help?








Tom Ogilvy

Performance Improvements while using RTD
 
Believe RTD refers to RealTimeData. A feature (worksheet function name:
RTD) introduced in xl2002 I believe. However, I think your answer is still
appropo. I suspect excel queries the server for all topics at once.

--
Regards,
Tom Ogilvy


"Leith Ross" wrote
in message ...

Hello aadyaa,

I am assuming the RTD is a resistence temperature detector and you are
using Dynamic Data Exchange (DDE) to update your worksheet. What system
is Excel communicating with? Your host system may not support individual
updates. You should check your manuals first.

Sincerely,
Leith Ross


--
Leith Ross
------------------------------------------------------------------------
Leith Ross's Profile:

http://www.excelforum.com/member.php...o&userid=18465
View this thread: http://www.excelforum.com/showthread...hreadid=492692




John.Greenan

Performance Improvements while using RTD
 
What is it you want to do? And why do you think that RTD is updating all
topics. I've written several RTD servers and written lots of client software
for RTD (it's a popular choice for financial data extraction from Bloomberg
and Reuters, amongst others) and it's a hybrid push/pull mechanism, so I
don't really understand the underlying question.

Can you fill in more detail and I'll try to help.


--
www.alignment-systems.com


" wrote:

Hi All,
What is the best way to update each individual topic on an excelsheet?
All examples which i have found are updating all topics instead of a
single topic. This makes my excel very very slow.

Can someone help?



[email protected]

Performance Improvements while using RTD
 
Hi John,

I have a hybrid architecture consisting of java and MS Excel.
My RTD server is a VB dll which obtains its data from java (using
JIntegra). Basically java pushes the data to the VB side. Upon
retrieval of data, I fire an update event which then forces excel to
recalculate...basically excel calls the refreshdata function.
Now basically I want to have various update events for each
functionality. For example: one update event for market information,
one update event for orders etc.
The only way i can think of is to have various classes implementing
IRTDServer within one dll. This way each extended class will have its
own RefreshData and hence it narrows down my amount of data to be
refreshed.

Can you suggest some another/better way of achieving the same?

thanks.

John.Greenan wrote:
What is it you want to do? And why do you think that RTD is updating all
topics. I've written several RTD servers and written lots of client software
for RTD (it's a popular choice for financial data extraction from Bloomberg
and Reuters, amongst others) and it's a hybrid push/pull mechanism, so I
don't really understand the underlying question.

Can you fill in more detail and I'll try to help.


--
www.alignment-systems.com


" wrote:

Hi All,
What is the best way to update each individual topic on an excelsheet?
All examples which i have found are updating all topics instead of a
single topic. This makes my excel very very slow.

Can someone help?




John.Greenan

Performance Improvements while using RTD
 
I still don't understand what you perceive as the being the problem

Look at the IRTD interface documentation....

RefreshData
Called when Excel is requesting a refresh on topics. RefreshData is called
after the server notifies Excel that updates exist, and it returns a count of
the topics to update along with the topic id and value for each topic.
[http://support.microsoft.com/kb/285339/EN-US/]

So Excel is only updated when there has been a change. So why create
multiple RTD servers - the refresh data method should just send the changes
to Excel that you have made after firing UpdateNotify???



--
www.alignment-systems.com


" wrote:

Hi John,

I have a hybrid architecture consisting of java and MS Excel.
My RTD server is a VB dll which obtains its data from java (using
JIntegra). Basically java pushes the data to the VB side. Upon
retrieval of data, I fire an update event which then forces excel to
recalculate...basically excel calls the refreshdata function.
Now basically I want to have various update events for each
functionality. For example: one update event for market information,
one update event for orders etc.
The only way i can think of is to have various classes implementing
IRTDServer within one dll. This way each extended class will have its
own RefreshData and hence it narrows down my amount of data to be
refreshed.

Can you suggest some another/better way of achieving the same?

thanks.

John.Greenan wrote:
What is it you want to do? And why do you think that RTD is updating all
topics. I've written several RTD servers and written lots of client software
for RTD (it's a popular choice for financial data extraction from Bloomberg
and Reuters, amongst others) and it's a hybrid push/pull mechanism, so I
don't really understand the underlying question.

Can you fill in more detail and I'll try to help.


--
www.alignment-systems.com


" wrote:

Hi All,
What is the best way to update each individual topic on an excelsheet?
All examples which i have found are updating all topics instead of a
single topic. This makes my excel very very slow.

Can someone help?





[email protected]

Performance Improvements while using RTD
 
Hi John,
Based on your advise I now update only the relevant topics which have
changed. However, I am still running into performance issues.

I have a method(update()) which is called from java:

function update()
Debug.Print "Inside update"
updateEvent.notify()
end function

function IRtdServer_RefreshData(...)
Debug.Print "Inside RefreshData"
function end

So logically my output should be:
Inside update
Inside RefreshData

However, if I have rapid updates coming in from the java layer,
The output looks like
Inside update
Inside update
Inside update
Inside RefreshData

Thus what user sees is a delayed data. Is there a way around this
problem?

thanks a lot for your help so far and i would appreciate if you could
answer this as well.


John.Greenan

Performance Improvements while using RTD
 
This is how RTD works. The point is that although Excel can be told that
there are updates - via UpdateNotify - Excel does not have to process them if
it's too busy. It's asynchronous - Excel is told that it has work to do and
only does the work when it has the ability to do so. So, what you describe
as "delayed data" is NOT delayed, it's just waiting for Excel not to be busy.


If this is causing a problem then you should run Excel on a machine with two
or more processors, bind Excel to one CPU and everything else to another CPU,
then add in as much memory as you can afford (2GB as a guide). That'll run
faster.

Or you could wait for Excel 12 which will have a multi-threaded calculation
engine that may help (cannot describe this in any detail - under NDA from
Microsoft - google for Office 12 to see publicly available information. That
might help with this.




--
www.alignment-systems.com


" wrote:

Hi John,
Based on your advise I now update only the relevant topics which have
changed. However, I am still running into performance issues.

I have a method(update()) which is called from java:

function update()
Debug.Print "Inside update"
updateEvent.notify()
end function

function IRtdServer_RefreshData(...)
Debug.Print "Inside RefreshData"
function end

So logically my output should be:
Inside update
Inside RefreshData

However, if I have rapid updates coming in from the java layer,
The output looks like
Inside update
Inside update
Inside update
Inside RefreshData

Thus what user sees is a delayed data. Is there a way around this
problem?

thanks a lot for your help so far and i would appreciate if you could
answer this as well.



[email protected]

Performance Improvements while using RTD
 
Hi John
Since what i am working on is a realtime application, the "delays" are
not acceptable.
However, I like your idea of exploring the hardware optimization
options.
What exactly do u mean by bind excel to one cpu? How does one go about
doing it?

thanks.


John.Greenan

Performance Improvements while using RTD
 
Hi,

The "delays" are not meaningful. There are always delays in real time data
- it's never in real time. You should work outr some metrics on these so
called delays and you'll see that they are within any meaningful tolerance.

You can search MSDN for how to bind a process to a CPU.

Regards,

John
--
www.alignment-systems.com


" wrote:

Hi John
Since what i am working on is a realtime application, the "delays" are
not acceptable.
However, I like your idea of exploring the hardware optimization
options.
What exactly do u mean by bind excel to one cpu? How does one go about
doing it?

thanks.




All times are GMT +1. The time now is 05:13 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com