EXECUTION SPEED OF FINISHED PROGRAM
Thanks Guys, You comments are really encouraging.
I agree Java is great!
My question really is put better this way:
The Execution speed of finished Java programs is slow and often does require much memory? Why is this and what are the solutions?
Thanks again
The Execution speed of finished Java programs is slow and often does require much memory? Why is
this and what are the solutions?Well, the solution is simple then: leave those Java programs unfinished; classic composers did the
same and they got famous for it ... Seriously though, your question is too vague; what is 'slow' and
what is 'much memory'? Before the application was 'finished' did you do any (unit) tests? It can't be
as if suddenly you go "my golly, it's slow and big now it's finished; lets complain". Care to elaborate?
kind regards,
Jos (fast, small and so soft for your hands ;-)
Similar Messages
-
Execution speed onboard programs
Hi all
I am tying store the value of analog input channels of PCI-7352 on buffer, from onboard program.
The program run fine, but I don´t know how measure the total acquisition time in the program.
In an example in LabView ( adc-gpbuffer.vi ), use 'flex_load_delay' function to establish an interval in
the acquisition. But the real interval between readings not is calculated.
Another question, How I can know the execution speed of onboard program ?. The documentation does not
show information.
Thank´s
Javier
Attachments:
adc-gpbuffer.vi 165 KBJavier,
there is no easy way to measure the execution timing of onboard programs. One thing that you could do is to toggle a digital line in your onboard program and measure the timing with an oscilloscope.
Please be aware that the timing of onboard programs doesn't work deterministicallly as onboard programs don't run with time critical priority on the board's CPU so you will probably see a fair amount of jitter.
The main purpose of the analog inputs on the 7352 is analog feedback. You can use them for single point measurements, too but if you need to acquire data with an accurate timing you better should use an additional M-Series board like the PCI-6220 which provide a much better measurement and timing accuracy and as true measurement devices they provide a whole set of additional useful features.
Best regards,
Jochen Klier
National Instruments Germany -
I am using Labview 7.1 and I am performing AI of
voltage on different channels of the same multifunction DAQ. I am
using while loops to aquire the data. I am writing the data to
spreadsheet file with an associated time as a 2D array. Currently I am
using the 'elapsed time' interactive subVI to get the time in seconds
(attempting to use the 'Get Date/Time in seconds' and converting it to
DBL results in time values that do not change. My thoughts are that
maybe the number of seconds is too large to display single second
precision with a DBL floating point number). When I run AI on two
multiple loops they execute at different rates and thus the time values
from "elapsed time" are accumulated at different rates. I have tried
using timed loops to control timing, but if one loop executes at a rate
slower than the timing of the loop the 'elapsed time' still accumulates
at different rates. I need to be able to associate both analog inputs
to the same time
value in the spreadsheet value and I would like to find a way to
associate a time with each data point that is independant of loop
execution speed (although I would still like to control execution speed
of the loops. I am pretty new to Labview and programming in general,
any help would be greatly appreciated.If you want to read more than one AI at the same time, you should use a trigger. You would need to set up the AI Trigger to an external source. Then you would have to use a function generator or digital out to create a clock. The clock would be wired to the AI external trigger. When the clock goes high (or low depending on configuration), both AIs would read. That is the method I use when needing to sync multiple AI inputs.
- tbob
Inventor of the WORM Global -
We are experiencing some problems with the execution speed of the aurora JRE. The documentation states that the Aurora JRE is compiled to native code and should run 2 - 10 times faster than a normal JRE. We are atempting to do some memory sorts using the Array class which is taking 10 times longer in the Oracle instance than on a client.
Is this a known performance bottleneck, are there any "tweaks" available?
Thanks
JulianHello Ravi,
Does your statement about core java classes being natively compiled also apply to the JVM in OAS / iAS?
I remember reading in a white paper that, in iAS, java code would be translated into C code for native execution. Does this apply to user code or only core java classes ?
(by the way, It seems impossible to download OAS 4.0.8.2 from OTN, maybe it would help if it was divided into several smaller files...)
Thanks, Remi DEH
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Oracle Support Analyst (Ravi):
In the current JServer release, Java code you load to the server is
interpreted. The underlying core classes upon which your code relies (java.lang.*) are natively compiled. Until the native compiler is available for user programs,
the net speed benefit of native compilation to your executing program is dependent upon how much native code is traversed, as opposed to interpreted code. The
more Java code from core classes and Oracle-provided class libraries you use, the more benefit you will see from native compilation.
In 8.1.7 i.e 8i Release 3 we support natively compiled code for the user programs.
<HR></BLOCKQUOTE>
null -
VI execution speed depending on mouse movement
Hi,
I have a large application that sometimes became very very slow. When It happens the only thing that I was able to notice is that moving mouse, execution speed of vi come back normal. I checked all the opened reference but I didn't find any not closed reference.
Any tip will be helpfull..
Golziocan you give us any other information or post an example of the program. Does it use an event structure, data acquisition, are you performing file i/o? If you can give us an example it would be most helpful. Thanks
BJD1613
Lead Test Tools Development Engineer
Philips Respironics
Certified LV Architect / Instructor -
BR0292I Execution of BRBACKUP finished with return code 1
i am taking a offline backup, after finished the backup, error comes ,
*BR0202I Saving E:\oracle\HOD\origlogA\cntrl\cntrlHOD.dbf
BR0203I to G:\backupoff\beccpxlq\cntrlHOD.dbf ...
#FILE..... E:\oracle\HOD\origlogA\cntrl\cntrlHOD.dbf
#SAVED.... G:\backupoff\beccpxlq\cntrlHOD.dbf #1/38 1.0000:1 6938624
BR0280I BRBACKUP time stamp: 2009-12-12 18.35.01
BR0063I 38 of 38 files processed - 95592.877 MB of 95592.877 MB done
BR0204I Percentage done: 100.00%, estimated end time: 18:35
BR0001I **************************************************
BR0280I BRBACKUP time stamp: 2009-12-12 18.35.05
BR0304I Starting and opening database instance HOD ...
BR0280I BRBACKUP time stamp: 2009-12-12 18.35.20
BR0305I Start and open of database instance HOD successful
BR0202I Saving space_log
BR0203I to G:\backupoff\HOD ...
BR0202I Saving E:\oracle\HOD\sapbackup\beccpxlq.afd
BR0203I to G:\backupoff\HOD ...
BR0202I Saving E:\oracle\HOD\sapbackup\backHOD.log
BR0203I to G:\backupoff\HOD ...
BR0056I End of database backup: beccpxlq.afd 2009-12-12 18.35.22
BR0280I BRBACKUP time stamp: 2009-12-12 18.35.23
BR0053I BRBACKUP completed successfully with warnings
BR0292I Execution of BRBACKUP finished with return code 1
BR0668I Warnings or errors occurred - you can continue to ignore them or go back to repeat the last action
BR0280I BRTOOLS time stamp: 2009-12-12 18.35.23
BR0670I Enter 'c[ont]' to continue, 'b[ack]' to go back, 's[top]' to abort:*BR0051I BRBACKUP 6.40 (34)
BR0055I Start of database backup: beccpxlq.afd 2009-12-12 17.31.38
BR0477I Oracle pfile D:\ORACLE\HOD\920\database\initHOD.ora created from spfile D:\ORACLE\HOD\920\database\spfileHOD.ora
BR0083W Compression rates out of date - run BRBACKUP with option '-k only'
BR0101I Parameters
Name Value
oracle_sid HOD
oracle_home D:\ORACLE\HOD\920
oracle_profile D:\ORACLE\HOD\920\database\initHOD.ora
sapdata_home E:\oracle\HOD
sap_profile D:\ORACLE\HOD\920\database\initHOD.sap
backup_mode ALL
backup_type offline
backup_dev_type disk
backup_root_dir G:\backupoff
compress hardware
disk_copy_cmd copy
cpio_disk_flags -pdcu
exec_parallel 0
system_info HODADM HOLDEV Windows 5.2 Build 3790 Service Pack 1 Intel
oracle_info HOD 9.2.0.6.0 8192 9964 117031233
sap_info 640 SAPHOD HOD L1140159252 R3_ORA 0020197850
make_info NTintel OCI_920_SHARE Sep 6 2005
command_line E:\usr\sap\HOD\SYS\exe\run\brbackup.exe -p initHOD.sap -d disk -t offline -m all -k hardware -e 0 -l E -U
BR0116I ARCHIVE LOG LIST before backup for database instance HOD
Parameter Value
Database log mode Archive Mode
Automatic archival Enabled
Archive destination D:\oracle\HOD\oraarch\HODarch
Archive format ARC%S.%T
Oldest online log sequence 9961
Next log sequence to archive 9964
Current log sequence 9964 SCN: 117031233
Database block size 8192 Thread: 1
BR0118I Tablespaces and data files
Tablespace TS-Status F-Status File Size Id. Device Link Type MaxSize IncrSize
PSAPHOD ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA3\HOD_1\HOD.DATA1 2600476672 3 4 NOLINK FILE 10485760000 20971520
PSAPHOD ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA3\HOD_2\HOD.DATA2 2684362752 4 4 NOLINK FILE 10485760000 20971520
PSAPHOD ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA3\HOD_3\HOD.DATA3 2579505152 5 4 NOLINK FILE 10485760000 20971520
PSAPHOD ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA3\HOD_4\HOD.DATA4 2537562112 6 4 NOLINK FILE 10485760000 20971520
PSAPHOD ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA4\HOD_6\HOD.DATA6 2495619072 8 4 NOLINK FILE 10485760000 20971520
PSAPHOD ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA4\HOD_8\HOD.DATA8 2411732992 10 4 NOLINK FILE 10485760000 20971520
PSAPHOD ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA4\HOD_10\HOD.DATA10 2453676032 12 4 NOLINK FILE 10485760000 20971520
PSAPHOD ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA4\HOD_9\HOD.DATA9 3514834944 11 4 NOLINK FILE 10485760000 20971520
PSAPHOD ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA4\HOD_7\HOD.DATA7 2474647552 9 4 NOLINK FILE 10485760000 20971520
PSAPHOD ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA4\HOD_12\HOD.DATA12 2453676032 32 4 NOLINK FILE 10485760000 20971520
PSAPHOD ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA4\HOD_11\HOD.DATA11 2369789952 31 4 NOLINK FILE 10485760000 20971520
PSAPHOD ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA3\HOD_5\HOD.DATA5 2537562112 7 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA1\HOD640_1\HOD640.DATA1 2097160192 13 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA1\HOD640_2\HOD640.DATA2 2097160192 14 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA1\HOD640_4\HOD640.DATA4 2097160192 16 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA2\HOD640_6\HOD640.DATA6 2097160192 18 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA2\HOD640_8\HOD640.DATA8 2097160192 20 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA2\HOD640_10\HOD640.DATA10 2097160192 22 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA4\HOD640_12\HOD640.DATA12 2097160192 24 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA4\HOD640_15\HOD640.DATA15 4194312192 30 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA4\HOD640_14\HOD640.DATA14 4194312192 29 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA4\HOD640_13\HOD640.DATA13 2097160192 25 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA3\HOD640_11\HOD640.DATA11 2097160192 23 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA2\HOD640_9\HOD640.DATA9 2097160192 21 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA2\HOD640_7\HOD640.DATA7 2097160192 19 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA1\HOD640_5\HOD640.DATA5 2097160192 17 4 NOLINK FILE 10485760000 20971520
PSAPHOD640 ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA1\HOD640_3\HOD640.DATA3 2097160192 15 4 NOLINK FILE 10485760000 20971520
PSAPHODUSR ONLINE* ONLINE+ E:\ORACLE\HOD\SAPDATA4\HODUSR_1\HODUSR.DATA1 20979712 26 4 NOLINK FILE 10485760000 20971520
PSAPTEMP ONLINE# ONLINE+ E:\ORACLE\HOD\SAPDATA1\TEMP_1\TEMP.DATA1 702554112 -1 4 NOLINK FILE 10485760000 20971520
PSAPUNDO ONLINE- ONLINE+ E:\ORACLE\HOD\SAPDATA1\UNDO_1\UNDO.DATA1 10485768192 2 4 NOLINK FILE 10485760000 20971520
PSAPUNDO ONLINE- ONLINE E:\ORACLE\HOD\SAPDATA1\UNDO_3\UNDO.DATA3 10485768192 28 4 NOLINK FILE 0 0
PSAPUNDO ONLINE- ONLINE E:\ORACLE\HOD\SAPDATA1\UNDO_2\UNDO.DATA2 10485768192 27 4 NOLINK FILE 0 0
SYSTEM ONLINE* SYSTEM+ E:\ORACLE\HOD\SAPDATA1\SYSTEM_1\SYSTEM.DATA1 1073750016 1 4 NOLINK FILE 10485760000 20971520
BR0119I Redo log files
File Size Group Device Status Link Type
E:\ORACLE\HOD\ORIGLOGA\LOG_G11M1.DBF 52429312 1 4 INUSE NOLINK FILE
E:\ORACLE\HOD\MIRRLOGA\LOG_G11M2.DBF 52429312 1 4 INUSE NOLINK FILE
E:\ORACLE\HOD\ORIGLOGB\LOG_G12M1.DBF 52429312 2 4 INUSE NOLINK FILE
E:\ORACLE\HOD\MIRRLOGB\LOG_G12M2.DBF 52429312 2 4 INUSE NOLINK FILE
E:\ORACLE\HOD\ORIGLOGA\LOG_G13M1.DBF 52429312 3 4 STALE NOLINK FILE
E:\ORACLE\HOD\MIRRLOGA\LOG_G13M2.DBF 52429312 3 4 STALE NOLINK FILE
E:\ORACLE\HOD\ORIGLOGB\LOG_G14M1.DBF 52429312 4 4 INUSE NOLINK FILE
E:\ORACLE\HOD\MIRRLOGB\LOG_G14M2.DBF 52429312 4 4 INUSE NOLINK FILE
BR0120I Control files
File Size Id. Device Link Type
E:\oracle\HOD\origlogA\cntrl\cntrlHOD.dbf 6938624 0 4 NOLINK FILE
E:\oracle\HOD\sapdata1\system_1\cntrl\cntrlHOD.dbf 6938624 0 4 NOLINK FILE
E:\oracle\HOD\saparch\cntrl\cntrlHOD.dbf 6938624 0 4 NOLINK FILE
BR0280I BRBACKUP time stamp: 2009-12-12 17.31.40
BR0057I Backup of database: HOD
BR0058I BRBACKUP action ID: beccpxlq
BR0059I BRBACKUP function ID: afd
BR0110I Backup mode: ALL
BR0077I Database files for backup:
E:\ORACLE\HOD\ORIGLOGA\LOG_G11M1.DBF
E:\ORACLE\HOD\ORIGLOGB\LOG_G12M1.DBF
E:\ORACLE\HOD\ORIGLOGA\LOG_G13M1.DBF
E:\ORACLE\HOD\ORIGLOGB\LOG_G14M1.DBF
E:\oracle\HOD\origlogA\cntrl\cntrlHOD.dbf
BR0061I 38 files found for backup, total size 95592.877 MB
BR0143I Backup type: offline
BR0113I Files will be compressed by hardware
BR0130I Backup device type: disk
BR0106I Files will be saved on disk in directory: G:\backupoff\beccpxlq
BR0064I Database instance HOD will be shut down now
BR0280I BRBACKUP time stamp: 2009-12-12 17.31.40
BR0256I Enter 'c[ont]' to continue, 's[top]' to cancel BRBACKUP:
BR0280I BRBACKUP time stamp: 2009-12-12 17.32.18
BR0257I Your reply: 'c'
BR0259I Program execution will be continued...
BR0370I Directory G:\backupoff\beccpxlq created
BR0370I Directory G:\backupoff\HOD created
BR0202I Saving init_ora
BR0203I to G:\backupoff\HOD ...
BR0202I Saving D:\ORACLE\HOD\920\database\initHOD.sap
BR0203I to G:\backupoff\HOD ...
BR0280I BRBACKUP time stamp: 2009-12-12 17.32.19
BR0198I Profiles saved successfully
BR0280I BRBACKUP time stamp: 2009-12-12 17.32.19
BR0307I Shutting down database instance HOD ...
BR0280I BRBACKUP time stamp: 2009-12-12 17.32.25
BR0308I Shutdown of database instance HOD successful
BR0202I Saving E:\ORACLE\HOD\SAPDATA3\HOD_1\HOD.DATA1
BR0203I to G:\backupoff\beccpxlq\HOD.DATA1 ...
#FILE..... E:\ORACLE\HOD\SAPDATA3\HOD_1\HOD.DATA1
#SAVED.... G:\backupoff\beccpxlq\HOD.DATA1 #1/1 1.0000:1 2600476672
BR0280I BRBACKUP time stamp: 2009-12-12 17.34.01
BR0063I 1 of 38 files processed - 2480.008 MB of 95592.877 MB done
BR0204I Percentage done: 2.59%, estimated end time: 18:38
BR0001I *_________________________________________________
BR0202I Saving E:\ORACLE\HOD\SAPDATA1\SYSTEM_1\SYSTEM.DATA1
BR0203I to G:\backupoff\beccpxlq\SYSTEM.DATA1 ...
#FILE..... E:\ORACLE\HOD\SAPDATA1\SYSTEM_1\SYSTEM.DATA1
#SAVED.... G:\backupoff\beccpxlq\SYSTEM.DATA1 #1/33 1.0000:1 1073750016
BR0280I BRBACKUP time stamp: 2009-12-12 18.34.34
BR0063I 33 of 38 files processed - 95386.258 MB of 95592.877 MB done
BR0204I Percentage done: 99.78%, estimated end time: 18:34
BR0001I **************************************************
BR0202I Saving E:\ORACLE\HOD\ORIGLOGA\LOG_G11M1.DBF
BR0203I to G:\backupoff\beccpxlq\LOG_G11M1.DBF ...
#FILE..... E:\ORACLE\HOD\ORIGLOGA\LOG_G11M1.DBF
#SAVED.... G:\backupoff\beccpxlq\LOG_G11M1.DBF #1/34 1.0000:1 52429312
BR0280I BRBACKUP time stamp: 2009-12-12 18.34.54
BR0063I 34 of 38 files processed - 95436.258 MB of 95592.877 MB done
BR0204I Percentage done: 99.84%, estimated end time: 18:35
BR0001I **************************************************
BR0202I Saving E:\ORACLE\HOD\ORIGLOGB\LOG_G12M1.DBF
BR0203I to G:\backupoff\beccpxlq\LOG_G12M1.DBF ...
#FILE..... E:\ORACLE\HOD\ORIGLOGB\LOG_G12M1.DBF
#SAVED.... G:\backupoff\beccpxlq\LOG_G12M1.DBF #1/35 1.0000:1 52429312
BR0280I BRBACKUP time stamp: 2009-12-12 18.34.55
BR0063I 35 of 38 files processed - 95486.259 MB of 95592.877 MB done
BR0204I Percentage done: 99.89%, estimated end time: 18:34
BR0001I **************************************************
BR0202I Saving E:\ORACLE\HOD\ORIGLOGA\LOG_G13M1.DBF
BR0203I to G:\backupoff\beccpxlq\LOG_G13M1.DBF ...
#FILE..... E:\ORACLE\HOD\ORIGLOGA\LOG_G13M1.DBF
#SAVED.... G:\backupoff\beccpxlq\LOG_G13M1.DBF #1/36 1.0000:1 52429312
BR0280I BRBACKUP time stamp: 2009-12-12 18.34.59
BR0063I 36 of 38 files processed - 95536.259 MB of 95592.877 MB done
BR0204I Percentage done: 99.94%, estimated end time: 18:35
BR0001I **************************************************
BR0202I Saving E:\ORACLE\HOD\ORIGLOGB\LOG_G14M1.DBF
BR0203I to G:\backupoff\beccpxlq\LOG_G14M1.DBF ...
#FILE..... E:\ORACLE\HOD\ORIGLOGB\LOG_G14M1.DBF
#SAVED.... G:\backupoff\beccpxlq\LOG_G14M1.DBF #1/37 1.0000:1 52429312
BR0280I BRBACKUP time stamp: 2009-12-12 18.35.01
BR0063I 37 of 38 files processed - 95586.260 MB of 95592.877 MB done
BR0204I Percentage done: 99.99%, estimated end time: 18:35
BR0001I **************************************************
BR0202I Saving E:\oracle\HOD\origlogA\cntrl\cntrlHOD.dbf
BR0203I to G:\backupoff\beccpxlq\cntrlHOD.dbf ...
#FILE..... E:\oracle\HOD\origlogA\cntrl\cntrlHOD.dbf
#SAVED.... G:\backupoff\beccpxlq\cntrlHOD.dbf #1/38 1.0000:1 6938624
BR0280I BRBACKUP time stamp: 2009-12-12 18.35.01
BR0063I 38 of 38 files processed - 95592.877 MB of 95592.877 MB done
BR0204I Percentage done: 100.00%, estimated end time: 18:35
BR0001I **************************************************
BR0280I BRBACKUP time stamp: 2009-12-12 18.35.05
BR0304I Starting and opening database instance HOD ...
BR0280I BRBACKUP time stamp: 2009-12-12 18.35.20
BR0305I Start and open of database instance HOD successful
BR0117I ARCHIVE LOG LIST after backup for database instance HOD
Parameter Value
Database log mode Archive Mode
Automatic archival Enabled
Archive destination D:\oracle\HOD\oraarch\HODarch
Archive format ARC%S.%T
Oldest online log sequence 9961
Next log sequence to archive 9964
Current log sequence 9964 SCN: 117031233
Database block size 8192 Thread: 1
BR0202I Saving space_log
BR0203I to G:\backupoff\HOD ...
BR0202I Saving E:\oracle\HOD\sapbackup\beccpxlq.afd
BR0203I to G:\backupoff\HOD ... -
Execution speed and Print Statements
I use so many "System.out.println" statements in my java program.
Will it reduce the execution speed of the application?Everything that does something will make the application slower.
You should instead ask yourself if you need the print statements, and if the application is fast enough. You can also execute your application in a profiler to find bottle necks.
Kaj -
When open iTunes it starts OK then a message from Windows appears, 'DATA EXECUTION PREVENTION Windows closed program'. Then the whole thing shuts down. Does anybody know how to sort this out please. I am using XP operating system and have recently updated iTunes. Thanks
Hi alanfromharlow,
It sounds as if iTunes is failing to launch properly on your Windows computer. You don’t mention what version of Windows you have, but one of these two articles should be useful to you -
iTunes for Windows Vista, Windows 7, or Windows 8: Fix unexpected quits or launch issues
http://support.apple.com/kb/TS1717
iTunes for Windows XP: Troubleshooting unexpected quits, freezes, or launch issues
http://support.apple.com/kb/TS1421
Thanks for using Apple Support Communities.
Best,
Brett L -
Execution time of same program makes big difference
Hello all,
The execution time of same program in PRD system and QAS system makes big difference.
The difference of data is not much(as system copy was run on a regular time schedule. And the system enviroments are exactly the same. However, while the program only cost 2-3 seconds in QAS, it cost 7-8 minutes in PRD.
It only happens when trying to join some tables together.
I've checked the execution plans of same search, they are different:
QAS:
SQL Statement
SELECT
T_00.RANL , T_00.XALLB , T_00.REPKE , T_00.REWHR , T_00.HKONT , T_00.ZTMNAIBRX , T_00.GSART ,
T_00.ZTMHOYMNX , T_00.ZTMSBKBNX , T_00.ZTMSHDAYZ , T_00.ZTMMBHZKP , T_01.BAL_SH_CUR ,
T_01.ZTMSIHONP , T_02.SECURITY_ID , T_02.SECURITY_ACCOUNT
FROM
ZTM0108 T_00, ZTM0135 T_01, TRACV_POSCONTEXT T_02
WHERE
T_00.MANDT = '350' AND T_00.BUKRS = 'MC51' AND T_00.ZTMMCSNGX = '200806' AND
T_02.SECURITY_ACCOUNT = '0001' AND T_01.MANDT = '350' AND T_01.BUKRS = T_00.BUKRS AND
T_01.ZTMMCSNGX = T_00.ZTMMCSNGX AND T_01.PARTNER = T_00.REPKE AND T_02.MANDT = '350' AND
T_02.SECURITY_ID = T_00.RANL
Execution Plan
SELECT STATEMENT ( Estimated Costs = 666 , Estimated #Rows = 72 )
--- 12 HASH JOIN
( Estim. Costs = 666 , Estim. #Rows = 72 )
Estim. CPU-Costs = 37,505,220 Estim. IO-Costs = 663
Access Predicates
-- 9 HASH JOIN
( Estim. Costs = 268 , Estim. #Rows = 51 )
Estim. CPU-Costs = 18,679,663 Estim. IO-Costs = 267
Access Predicates
-- 6 NESTED LOOPS
( Estim. Costs = 25 , Estim. #Rows = 38 )
Estim. CPU-Costs = 264,164 Estim. IO-Costs = 25
-- 4 NESTED LOOPS
( Estim. Costs = 25 , Estim. #Rows = 27 )
Estim. CPU-Costs = 258,494 Estim. IO-Costs = 25
-- 2 TABLE ACCESS BY INDEX ROWID DIFT_POS_IDENT
( Estim. Costs = 25 , Estim. #Rows = 24 )
Estim. CPU-Costs = 253,454 Estim. IO-Costs = 25
Filter Predicates
1 INDEX RANGE SCAN DIFT_POS_IDENT~SA
( Estim. Costs = 1 , Estim. #Rows = 554 )
Search Columns: 1
Estim. CPU-Costs = 29,801 Estim. IO-Costs = 1
Access Predicates
3 INDEX RANGE SCAN TRACT_POSCONTEXTID
Search Columns: 2
Estim. CPU-Costs = 210 Estim. IO-Costs = 0
Access Predicates
5 INDEX UNIQUE SCAN TZPA~0
Search Columns: 2
Estim. CPU-Costs = 210 Estim. IO-Costs = 0
Access Predicates
--- 8 TABLE ACCESS BY INDEX ROWID ZTM0108
( Estim. Costs = 242 , Estim. #Rows = 2,540 )
Estim. CPU-Costs = 10,811,361 Estim. IO-Costs = 241
7 INDEX RANGE SCAN ZTM0108~0
( Estim. Costs = 207 , Estim. #Rows = 2,540 )
Search Columns: 3
Estim. CPU-Costs = 9,790,330 Estim. IO-Costs = 207
Access Predicates Filter Predicates
--- 11 TABLE ACCESS BY INDEX ROWID ZTM0135
( Estim. Costs = 397 , Estim. #Rows = 2,380 )
Estim. CPU-Costs = 11,235,469 Estim. IO-Costs = 396
10 INDEX RANGE SCAN ZTM0135~0
( Estim. Costs = 323 , Estim. #Rows = 2,380 )
Search Columns: 3
Estim. CPU-Costs = 10,288,477 Estim. IO-Costs = 323
Access Predicates Filter Predicates
PRD:
Execution Plan
SELECT STATEMENT ( Estimated Costs = 209 , Estimated #Rows = 1 )
--- 12 NESTED LOOPS
( Estim. Costs = 208 , Estim. #Rows = 1 )
Estim. CPU-Costs = 18.996.864 Estim. IO-Costs = 207
-- 9 NESTED LOOPS
( Estim. Costs = 120 , Estim. #Rows = 1 )
Estim. CPU-Costs = 10.171.528 Estim. IO-Costs = 119
-- 6 NESTED LOOPS
Estim. CPU-Costs = 27.634 Estim. IO-Costs = 0
-- 4 NESTED LOOPS
Estim. CPU-Costs = 27.424 Estim. IO-Costs = 0
1 INDEX RANGE SCAN TZPA~0
Search Columns: 1
Estim. CPU-Costs = 5.584 Estim. IO-Costs = 0
Access Predicates
--- 3 TABLE ACCESS BY INDEX ROWID DIFT_POS_IDENT
Estim. CPU-Costs = 210 Estim. IO-Costs = 0
Filter Predicates
2 INDEX RANGE SCAN DIFT_POS_IDENT~PT
Search Columns: 1
Estim. CPU-Costs = 210 Estim. IO-Costs = 0
Access Predicates
5 INDEX RANGE SCAN TRACT_POSCONTEXTID
Search Columns: 2
Estim. CPU-Costs = 210 Estim. IO-Costs = 0
Access Predicates
--- 8 TABLE ACCESS BY INDEX ROWID ZTM0108
( Estim. Costs = 120 , Estim. #Rows = 1 )
Estim. CPU-Costs = 10.143.893 Estim. IO-Costs = 119
7 INDEX RANGE SCAN ZTM0108~0
( Estim. Costs = 119 , Estim. #Rows = 1 )
Search Columns: 4
Estim. CPU-Costs = 10.142.167 Estim. IO-Costs = 119
Access Predicates Filter Predicates
--- 11 TABLE ACCESS BY INDEX ROWID ZTM0135
( Estim. Costs = 89 , Estim. #Rows = 1 )
Estim. CPU-Costs = 8.825.337 Estim. IO-Costs = 88
10 INDEX RANGE SCAN ZTM0135~0
( Estim. Costs = 88 , Estim. #Rows = 1 )
Search Columns: 4
Estim. CPU-Costs = 8.823.742 Estim. IO-Costs = 88
Access Predicates Filter Predicates
Could anyone tell me the reason? I've found note 724545 but not sure.
And, how to read the execution plan?(1 first or 12 first?)
Best Regards,
RobinHello Michael.
Thank you.
However, the sql statement is same:
QAS:
SQL Statement
SELECT
T_00.RANL , T_00.XALLB , T_00.REPKE , T_00.REWHR , T_00.HKONT , T_00.ZTMNAIBRX , T_00.GSART ,
T_00.ZTMHOYMNX , T_00.ZTMSBKBNX , T_00.ZTMSHDAYZ , T_00.ZTMMBHZKP , T_01.BAL_SH_CUR ,
T_01.ZTMSIHONP , T_02.SECURITY_ID , T_02.SECURITY_ACCOUNT
FROM
ZTM0108 T_00, ZTM0135 T_01, TRACV_POSCONTEXT T_02
WHERE
T_00.MANDT = '350' AND T_00.BUKRS = 'MC51' AND T_00.ZTMMCSNGX = '200806' AND
T_02.SECURITY_ACCOUNT = '0001' AND T_01.MANDT = '350' AND T_01.BUKRS = T_00.BUKRS AND
T_01.ZTMMCSNGX = T_00.ZTMMCSNGX AND T_01.PARTNER = T_00.REPKE AND T_02.MANDT = '350' AND
T_02.SECURITY_ID = T_00.RANL
Execution Plan
SELECT STATEMENT ( Estimated Costs = 666 , Estimated #Rows = 72 )
--- 12 HASH JOIN
( Estim. Costs = 666 , Estim. #Rows = 72 )
Estim. CPU-Costs = 37,505,220 Estim. IO-Costs = 663
Access Predicates
-- 9 HASH JOIN
( Estim. Costs = 268 , Estim. #Rows = 51 )
Estim. CPU-Costs = 18,679,663 Estim. IO-Costs = 267
Access Predicates
-- 6 NESTED LOOPS
( Estim. Costs = 25 , Estim. #Rows = 38 )
Estim. CPU-Costs = 264,164 Estim. IO-Costs = 25
-- 4 NESTED LOOPS
( Estim. Costs = 25 , Estim. #Rows = 27 )
Estim. CPU-Costs = 258,494 Estim. IO-Costs = 25
-- 2 TABLE ACCESS BY INDEX ROWID DIFT_POS_IDENT
( Estim. Costs = 25 , Estim. #Rows = 24 )
Estim. CPU-Costs = 253,454 Estim. IO-Costs = 25
Filter Predicates
1 INDEX RANGE SCAN DIFT_POS_IDENT~SA
( Estim. Costs = 1 , Estim. #Rows = 554 )
Search Columns: 1
Estim. CPU-Costs = 29,801 Estim. IO-Costs = 1
Access Predicates
3 INDEX RANGE SCAN TRACT_POSCONTEXTID
Search Columns: 2
Estim. CPU-Costs = 210 Estim. IO-Costs = 0
Access Predicates
5 INDEX UNIQUE SCAN TZPA~0
Search Columns: 2
Estim. CPU-Costs = 210 Estim. IO-Costs = 0
Access Predicates
--- 8 TABLE ACCESS BY INDEX ROWID ZTM0108
( Estim. Costs = 242 , Estim. #Rows = 2,540 )
Estim. CPU-Costs = 10,811,361 Estim. IO-Costs = 241
7 INDEX RANGE SCAN ZTM0108~0
( Estim. Costs = 207 , Estim. #Rows = 2,540 )
Search Columns: 3
Estim. CPU-Costs = 9,790,330 Estim. IO-Costs = 207
Access Predicates Filter Predicates
--- 11 TABLE ACCESS BY INDEX ROWID ZTM0135
( Estim. Costs = 397 , Estim. #Rows = 2,380 )
Estim. CPU-Costs = 11,235,469 Estim. IO-Costs = 396
10 INDEX RANGE SCAN ZTM0135~0
( Estim. Costs = 323 , Estim. #Rows = 2,380 )
Search Columns: 3
Estim. CPU-Costs = 10,288,477 Estim. IO-Costs = 323
Access Predicates Filter Predicates
PRD:
SQL Statement
SELECT
T_00.RANL , T_00.XALLB , T_00.REPKE , T_00.REWHR , T_00.HKONT , T_00.ZTMNAIBRX , T_00.GSART ,
T_00.ZTMHOYMNX , T_00.ZTMSBKBNX , T_00.ZTMSHDAYZ , T_00.ZTMMBHZKP , T_01.BAL_SH_CUR ,
T_01.ZTMSIHONP , T_02.SECURITY_ID , T_02.SECURITY_ACCOUNT
FROM
ZTM0108 T_00, ZTM0135 T_01, TRACV_POSCONTEXT T_02
WHERE
T_00.MANDT = '500' AND T_00.BUKRS = 'MC51' AND T_00.ZTMMCSNGX = '200806' AND
T_02.SECURITY_ACCOUNT = '0001' AND T_01.MANDT = '500' AND T_01.BUKRS = T_00.BUKRS AND
T_01.ZTMMCSNGX = T_00.ZTMMCSNGX AND T_01.PARTNER = T_00.REPKE AND T_02.MANDT = '500' AND
T_02.SECURITY_ID = T_00.RANL
Execution Plan
SELECT STATEMENT ( Estimated Costs = 209 , Estimated #Rows = 1 )
--- 12 NESTED LOOPS
| ( Estim. Costs = 208 , Estim. #Rows = 1 )
| Estim. CPU-Costs = 18.996.864 Estim. IO-Costs = 207
|-- 9 NESTED LOOPS
| | ( Estim. Costs = 120 , Estim. #Rows = 1 )
| | Estim. CPU-Costs = 10.171.528 Estim. IO-Costs = 119
| |-- 6 NESTED LOOPS
| | | Estim. CPU-Costs = 27.634 Estim. IO-Costs = 0
| | |-- 4 NESTED LOOPS
| | | | Estim. CPU-Costs = 27.424 Estim. IO-Costs = 0
| | | |-----1 INDEX RANGE SCAN TZPA~0
| | | | Search Columns: 1
| | | | Estim. CPU-Costs = 5.584 Estim. IO-Costs = 0
| | | | Access Predicates
| | | --- 3 TABLE ACCESS BY INDEX ROWID DIFT_POS_IDENT
| | | | Estim. CPU-Costs = 210 Estim. IO-Costs = 0
| | | | Filter Predicates
| | | -
2 INDEX RANGE SCAN DIFT_POS_IDENT~PT
| | | Search Columns: 1
| | | Estim. CPU-Costs = 210 Estim. IO-Costs = 0
| | | Access Predicates
| | -
5 INDEX RANGE SCAN TRACT_POSCONTEXTID
| | Search Columns: 2
| | Estim. CPU-Costs = 210 Estim. IO-Costs = 0
| | Access Predicates
| --- 8 TABLE ACCESS BY INDEX ROWID ZTM0108
| | ( Estim. Costs = 120 , Estim. #Rows = 1 )
| | Estim. CPU-Costs = 10.143.893 Estim. IO-Costs = 119
| -
7 INDEX RANGE SCAN ZTM0108~0
| ( Estim. Costs = 119 , Estim. #Rows = 1 )
| Search Columns: 4
| Estim. CPU-Costs = 10.142.167 Estim. IO-Costs = 119
| Access Predicates Filter Predicates
--- 11 TABLE ACCESS BY INDEX ROWID ZTM0135
| ( Estim. Costs = 89 , Estim. #Rows = 1 )
| Estim. CPU-Costs = 8.825.337 Estim. IO-Costs = 88
10 INDEX RANGE SCAN ZTM0135~0
( Estim. Costs = 88 , Estim. #Rows = 1 )
Search Columns: 4
Estim. CPU-Costs = 8.823.742 Estim. IO-Costs = 88
Access Predicates Filter Predicates
Only difference is the client.
I see that QAS use index SA on table DIFT_POS_IDENT first, while PRD deal with table TZPA first...Is it the reason?
Best Regards,
Robin -
In my large application (1 MB exe-file) I am continuously updating a lot of numeric controls with new values. Most of them do not really change their value. Within my search of improving the performance of my application I noticed, that there is only a small difference of the execution speed between a call of "SetCtrlValue" with constant values and calls with changing values. It runs much faster (25 times on my PC), if I get the actual control value with "GetCtrlVal", compare it with my new value an do a call to "SetCtrlVal" only if the current value and the new value are different.
My questions to CVI-developers is:
Isn't it possib
le to do this compare within the function "SetCtrlVal"
My question to all CVI-users is:
Does anyone have similar tips to improve the performance of CVI applications ?
I developed a small test application for this problem, which I can mail to interested users.What takes the extra time is the redraw of the control. When you call SetCtrlVal we ALWAYS redraw the control. We wouldn't want to build in functionality to check if the value was the same because that would add additional time to the SetCtrlVal in every case. If you want to do it outside of the loop you can as you have done above. You have a few options. First, keep a previous value variable for the controls that you can use to determine whether to set the control value. I.E.
int oldVal = 0;
int newVal = 0;
if(newVal!=oldVal) {
SetCtrlVal(..., newVal);
oldVal = newVal;
Also, if you set the value of a control through SetCtrlAttribute instead, there is no built in redraw of the control (which is what takes all the time). Using SetCtrlAttribute
to set the value is very fast, but remember there isn't a built in redraw on the screen to display the new number.
Best Regards,
Chris Matthews
Measurement Studio Support Manager -
Execution speed improvements of FGV over locals
This my first post. I am new to LabVIEW and am currently writing my first significant application. I am actually modifying an existing application, but am adding additional functionality.
I have read this VI Execution Speed article but still have questions http://zone.ni.com/reference/en-XX/help/371361H-01/lvconcepts/vi_execution_speed/
As an example, I am populating an xy plot with several sets of data, such as saved data points and a curve fit. I am currently using a case structure to decide when to write various elements. As an example, I only write the curve fit one time and it remains static as other pieces of data are added to the graph. In an attempt to make things faster I did not want to redo and redraw the fit each time. I am using locals within the case to populate the graph. In the default case nothing if written to these locals (and I assume the graph is not redrawn)?
I now realize that instead using a case in which nothing is written, I could use a feedback node (to write the previous case). The in addition, in place of using a local, I could use a Functional Global Variable.
Would it be better to have several cases which write locals to populate the plot and one case which writes nothing OR Have the several cases write to a FGV and then a default case which writes the last data to the FGV via a feedback node?
The first seems like less load as nothing is written in the default case, but the other cases do write to a local which has a front panel object that I don't need or want.
Iis there any benefit to hiding unused front panel objects?
Is there a way to create a local without front panel object?
Finally, with a tabbed UI, are objects on the non active tabs being redrawn and slowing the process?Good questions!
Starting from the bottom:
Iis there any benefit to hiding unused front panel objects?
Is there a way to create a local without front panel object?
No and No. Local variables are generally a poor way to store and move data. For the reasons you cited (FP object you do not want or need, hidden FP objects) and that they force a copy of the data and may cause a thread switch to the UI thread.
Finally, with a tabbed UI, are objects on the non active tabs being redrawn and slowing the process?
It depends. Newer versions of LV are generally smart enough that non-visible indicators are not redrawn. This may not have been true in older versions, although I do not know when the changes were made.
You certainly do not need to redo the fit if the data has not changed. I think the entire graph gets redrawn when any new data is written.
Search for Ben's extremely informative Nugget on Action Engines (AE). An Action Engine is a FGV with added capabilities. It may be a very good option for what you are trying to do. It could store all the data sets, update the graphs, and make the data available where it may be needed without extra copies. With the AE you could easily acquire and store data at one rate and update the graphs at a (slower) rate appropriate to the users eyes and brains. Updating graphs more than ~10 times per second is a waste of resources because the user cannot respond any faster than that. Also you could write a subset or reduced data set to the graph if the amount of data is larger than the number of pixels in the plot.
Lynn -
Ideal execution time for any program
Hi,
Is there any method to determine the ideal execution time for a program ?
Or else how to determine that ?
I just wanted the max. time that a program can take so that the performance would not be hampered.
Thanks,
Binay.did you ask for the 'ideal execution time' or 'how to measure execution times'?
The second question was answered in one of your other questions.
Optimization:
Do SQL Trace, go to Summary by SQL statement, check 10 Top contributions (time = duration).
Try to optimize them, note minimal time per record, if larger than 10.000 microsecodns, then you should index usage.
Do SE30, go to hit list, sort by net time, again address 10 Top contributions, try to optimize, check the coding.
Do optimization and trace again, check again 10 Top contributions ....
Siegfried -
Hi there!
I hope someone can help me about my (probably noobish) question:
I have 2 Oracle environments, both not maintained by me and if I execute the following querry:
select * from DATA_TBL where rownum < 11;
It takes about 8 seconds on the one and less than 1 second on the other environment.
As there is everything selected via '*' and the where clause does not include data colums it can't be about indexes or analysed information or?
On both environments I also get the same explain_plan (only thing I have the rights to do):
PLAN_TABLE_OUTPUT
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | | | |
|* 1 | COUNT STOPKEY | | | | |
| 2 | TABLE ACCESS FULL | DATA_TBL | | | |
Predicate Information (identified by operation id):
1 - filter(ROWNUM<11)
Note: rule based optimization
15 rows selected.
I would be happy if someone could tell me about possible reasons for the difference in execution speed, or what to tell the DBA's..
Thanks in advance!
Jan>
select * from DATA_TBL where rownum < 11;
It takes about 8 seconds on the one and less than 1 second on the other environment.
>
SQL> create table t1 as select 'AAAAAAAAAAAAA' as word from dual connect by level<=1e7;
Table created.
SQL> create table t2 as select 'AAAAAAAAAAAAA' as word from dual connect by level<=1e7;
Table created.
SQL> delete from t1 where rownum<5000000;
SQL> commit;
Commit complete.
SQL> set timing on
SQL> select * from t1 where rownum<10;
WORD
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
9 rows selected.
Elapsed: 00:00:02.44
SQL> select * from t2 where rownum<10;
WORD
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
AAAAAAAAAAAAA
9 rows selected.
Elapsed: 00:00:00.48Kind regards
Uwe
http://uhesse.wordpress.com -
Hi everybody,
I converted an existing report into an FM and used that FM in my BSP page to display the output in browser.
But the execution speed of BSP page is almost half as compared to the execution of report. I am not sure why this has happened.
Is the layout reponssible for this low speed?
But its excatly the same layout that report displayed.
Please tell me where should i do the changes to increase execution speed .
ThanksI suggest you to execute SE30 transaction (performance measurements) and including your BSP. You can do this also from SICF, I think that in the menu you hace a Runtime Analysis option or similar (sorry I by now I cannot acces to my SAP BW). Then, check the report, and discover where the most of the time is spent.
I had a similar problem. I had a BSP which execute many times a FM for generate a data table. I put AJAX to my BSP to improve performance and concurrency. -
VI execution speed in subpanel is slow
Hello,
I have the following problem with subpanels. I have a VI that should run inside of a subpanel. This VI contains an Image Display component (Vision). This Image Display is updated with a new image inside a while loop every 40 milliseconds. This is the one and only action inside of this loop. When I run this VI in a subpanel, the execution slows down to 200 ms for the Image Display update action (for the while loop). I measured the this with a Timervalue (ms) component. If my application runs the VI outside of the subpanel in an own window then the timig of 40 milliseconds works perfect. The only difference between the two situation is that the VI runs in or outside of a subpanel.
This is a great problem for me because my camera captures images with a framerate of 7,5 fps. So an Image Display update time of 200 ms is not acceptable for my application. Is this a known issue. Is there a workaround or some settings that I should tweak to improve execution speed of VIs in a subpanel. Or should i simply not use subpanels if execution speed matters - then it would be good to write this into the subpanel documentation. I carefully read the documentation an searched the dicussion forum but I could not find an answer.
Thank you very much for any help.Hey Incredible,
could you tell me your labview version and please post your labview code.
Kind regards,
Elmar
Maybe you are looking for
-
How to manipulate recursive node with context api?
Hi, all. I made a recursive node in my context. So it is like a tree. When I choosed one child node in my tree, how can I get it`s current element? Thanks a lot.
-
Accounting document entry date
Is there a function to get the Accounting document entry date? Given the batch number (charg) and Number of material document (mblnr) Thanks.
-
Grid/ gallery view not working
Hi, I have an HP Envy h8 PC Series. I'm on Windows 8 with Explorer 10. Something happend some time ago and I can no longer see Pictures on sites like Craigslist & Okcupid in Gallery/Grid view. I don't know what changed or when. But I'm guessing ther
-
Images won't open in Adobe external editor
I can't get my images to open up in Photoshop eventhough it is set up as my external editor. When I select a picture to open with via the chosen external editor, a second version of my original is made within Aperture(with the external editor badge o
-
What tool can i use to create an animation for iPad
What tool can i use to create an animation the will run in I.E., Firefox and iPad. I want to have a series of large buttons that i can scroll using arrows on the left and right side of the large buttons, with each button being a hot spot. I can't us