Fast Internal HD (7200RPM)
I'm using my 17" Aluminium Powerbook G4 1.33GHz for audio and live music applications (Logic Pro, Reason, Live etc) and am looking for a fast 7200RPM large capacity (120GB and up) INTERNAL hard disk. Ideally, I'd like a 250GB 7200RPM drive. Are these available for this Powerbook? I'm also beefing up the RAM from 1Gb to 2Gb, in an attempt to get another year out of the machine. Hoping to hold out for the Nelahem MacBook Pros when they come out!
Any advice would be appreciated!
I've just searched macsales.com, zipzoomfly.com, newegg.com, and buy.com, the four vendors I consistently recommend for hard drive purchases. They all sell huge numbers of hard drives at extremely competitive prices, and none of them has a single 2.5" 7200RPM ATA/IDE drive on hand. As I said, these drives are now very hard to find. I don't believe any of them are still in production.
Similar Messages
-
Storing my catalog on separate fast internal drive...?
I'm curious as to whether certain performance issues with Lightroom 4 are related to my setup...I am on Windows 7, 12GB RAM, 2 750GB 7200rpm hard drives (internal) and several external drives. The way I have it set up is:
C: - Where Lightroom is installed (duh)
D: (separate internal drive) is where my catalogs are stored
4 external USB 3.0 drives store all my photos.
I feel like Lightroom doesn't like the fact that my catalogs are on a separate drive from the program itself (?), despite being a SATA connected fast internal drive. Does anyone else have this setup? Will it affect performance?
Thanks
p.s. My D: drive is also setup as the primary scratch disk for Photoshop. Could this negatively affect performance?it shouldn't negatively affect the performance the way that you have described:
reference these links-
http://thelightroomlab.com/2011/03/where-should-i-keep-my-adobe-photoshop-lightroom-catalo g/
http://www.oreillynet.com/digitalmedia/blog/2007/03/five_ways_to_speed_up_lightroo.html
http://kelbytv.com/lightroomkillertips/2012/01/19/using-external-drives/
if you feel you are encountering problems, i would try to keep lightroom and the image storage on the same drive....
-janelle -
Change iDVD to burn on my faster internal optical drive?
I have a G4, OS 10.4.2, and iDVD 5. Is there any way I can configure iDVD to access my lower faster internal optical drive to burn my DVD's? If this is not available in iDVD 5, is it available in iDVD6?
Is there any way I can configure iDVD to access my lower faster internal optical drive to burn my DVD's?
So, do you have the same computer as mine?
You could create a disk image and then select drives with Toast or Disk Utility. See below.
iDVD 6 allows me to switch drives in Project Info...
You should get your computer to 10.4.4 and any other updates before installing iLife '06, or you will not get some of the features installed.
Suggest you create a disc image and then burn the DVD. File/Save As Disc Image...
http://docs.info.apple.com/article.html?artnum=164927
This will isolate any encoding/burning issues you may encounter. Once the disc image is created, double-click the .img and burn the virtual disc that should appear on your desktop, using Toast to burn the DVD. Disk Utility to burn the .img file. Usually, you can select a burning speed in Disk Utility.
There are variations to this process based on which OS X you are using...
Open Disk Utility (in Utilities folder in Applications folder), click on the virtual disc (maybe the .img) in the left-hand window. Click the Burn icon. A new window should drop down and your SuperDrive tray will open after clicking the Burn icon. Insert a recordable DVD. (Verbatim DVD-R preferred by me.) Click the Close button. Wait. Select a burn speed. Then click the Burn button.
-->If the virtual disk selection won't allow you to click the Burn icon, use the .img file instead. This may have changed in 10.3.9 and did change in Tiger.
Also, you can use DVD Player to play the virtual disk to check your iDVD project before burning to DVD. Launch DVD Player. File/Open VIDEO_TS (Open DVD Media... in Player 4.6). Find the VIDEO_TS folder and open that. (The audio folder is for DVD-Audio disks.)
http://docs.info.apple.com/article.html?artnum=93006 -
Which HDD connection is faster -- Internal ATA or External Firewire?
I want to set up a HDD as a scratch drive for Photoshop. Which connection would be faster -- hooking it up to my internal ATA 100 cable or an external firewire enclosure? I do not have a drive presently hooked up to my ATA 100 cable since I'm running my boot drive off a SATA controller card, so there would NOT be two drives on the ATA 100, just the scratch drive. Thanks.
The speed ratings of drives above ATA-66 is mostly specsmanship.
A 10,000 RPM drive can only source data off the platters at about 50 MBytes/sec. So an ATA-133 drive has a tremendous pipe, but very seldom can fill that pipe with continuous data. The processor can write to the drive cache that fast, but at some point the cache will fill up and you will still have to wait for the discs to spin around so that the data can be written into the right block.
The data density per square inch on a 7200 RPM drive is about the same as the 10,000 RPM drives, but you have to wait for it to move under the read/write head, and the platters are spinning slower, so the transfer rates are lower.
If transfer rates were the most important factor, we would all be using Fiber Channel SCSI drives with transfer rates in the GigaBytes/second. Oh, and one meter cables cost over US$30 EACH. -
Looking for fast internal hard drive
I want to replace the existing hard drive in my iBook G4 with a faster one (7200 rpm). I realize the battery time will suffer. Does anybody have any specific recommendations (as to which brand)?
Thanks.Most of the newer specifications of modern drives I've seen are
for the SATA type of hard disk drives now common in new Macs.
Since these won't work inside an older model, you still may find
some PATA/ATA/IDE compatible drives from the same manufact-
urers and through vendors of Mac specific or compatible hardware.
{Of major brands, sometimes you can find a similar spec HDD
in their line-up that is almost as good as their new SATA line;
here's a page with some that won't work in your iBook, but they
do have names and the manufacture brand. They may offer ATA:
http://www.barefeats.com/note03.html }
The slower spinning drive, may be fine; get one with a larger buffer
and enough free space so the system and applications have plenty
of room for Virtual Memory demands, and make sure the basic RAM
amount is as much as the machine can support.
Some of the newer replacement PATA drives use less power and
have better technologies than those older models in early Macs.
So, if you can find actual reviews and specifications for side-by-side
comparisons (of non-SATA vs other non-SATA) for your application,
that may give you an idea if the faster-spin rate drive is an advantage
you could live with; or something best left for another year's upgrade
when you eventually may get a newer architecture portable Macintosh.
I'd go for the 5400 slower drive, large capacity, with larger 16+ MB buffers,
instead of a faster 7200 drive, in a portable computer on limited batteries.
But I've read of others who did OK by the faster drive. Not sure if they stuck
with original equipment batteries or were able to actually gain run time with
those newer technology batteries which say they have a longer life. Of the
new batteries, you may need to get their brand of reconditioner/recharger
in order to hope to get their longer specified battery life; & charge two at a
time outside of the computer; making sure to calibrate and run them all often.
Good luck & happy computing!
edited. -
Internal 320 7200rpm hard drive
where can i buy a good replacement hard drive for my new macbook pro? i need 7200rpm. i currently have the stock 320 5400rpm ;(
I prefer OWC or newegg for my purchases. Hard drive manufacturers are more a personal preference. I like seagate, others like western digital, its really your decision but I've thought OWC had great customer support at a good price and newegg has some very cheap prices for equipment.
Message was edited by: Michael Flynn -
One grey pixel v faster internal hard drive
Hi everyone
I bought my first ever imac 7 weeks ago and loving it. I bought the top end 27 inch i5 imac. But I have a question to put forward to (perhaps) some long time users here. What would you do? What is reasonable? What should I expect? Re......
I have one very small grey spot on my display. Not sure if its one pixel or one small cluster but it us one very small spot towards the top left corner of the screen. Now it's not getting in the way of things but I do know it's there and when you know it's there you can't miss it. Especially when viewing pics.
Let me also say what from reading other forums that I am not bagging apple or criticising their screens but I am just looking to put this one screen blemish into perspective re what I/you should expect. Any opinions re what would you do would be appreciated (re having it swapped).
One other point is I'm aware that on the 27 inch macs you may get either one of two hard drives (I think it's written up by macworld from testing they did). My imac has the seagate drive which had slightly stronger figures and performance (eg 32 v 64 cache).
I'm thinking that the difference in hard drives realistically won't make a difference for me and at the end of the day neither will the one pixel but would you return or keep what I've got? Does the one pixel make a difference if I try to sell in 2 years. If....
Thanks for any opinions, reassurances and statements of comfort
Peter tso im reading that i'm not being too "retentive" and its not too much to expect to receive a perfect screen?
i'm not one of "those" customers with unreasonable expectations?
right?
cheers
peter t -
Help with computer setup and PP settings for faster/better previews
I have been using Cyberlink PowerDirector software for video editing. It is very easy to use and can do quite a bit. It was also accelerated by Intel HD graphics built into my system, so I could see a lot of my work at a pretty high resolution in real time.
However, I wanted to see what PP was capable of, specifically the Warp Stabilizer.
So I downloaded PP and have been trying to use it, but it was just slow as heck to preview anything (chop stop chop stop...), with render times being insanely long (12 hours for five minutes of footage vs. about 30 minutes with PowerDirector).
Thinking it was a problem with my system and I needed to get a real graphics card, I got an EVGA GTX 670 (FTW) for $400, and popped it in. I modified the text file so PP would see it as a compatible card, opened up PP and changed the engine to the new card.
Things are faster, but I was expecting a lot more. Here's what I'm doing:
1. Shooting Canon 5D mark II (now III) clips 20-60 seconds long, 1080p.
2. Import to PP and sequence them.
3. Adding effects:
A. Top adjustment layer for fast color correction (white balance)
B. Next adjustment layer: 3-way color, shadow/highlight, unsharp mask, fast blur
C. Video 1 layer has the clips with warp stabilizer applied to each, and dissolves.
My final output will be 720p. ( I shoot 1080p so the Warp Stabilizer will have more to work with, and I can crop without feeling like I'm degrading quality).
My system: i7 2600k, 16GB RAM, GTX 670 graphics, 120GB SSD "Max IOPS", 2TB 7200rpm internal, 2TB 7200rpm external (USB 2.0, backup drive).
I can currently preview at 1/4 res in realtime. I would really like to be able to get to 1/2 res (of course full would be great). One thing that worries me is that GPU-Z indicates that my GPU is only running at about 2% while previewing, while CPU usage is at around 50%. I was under the impression that the Mercury thing would use GPU/CUDA to process previews and effects that are supported (that includes Warp Stabilizer).
I've looked at Sequence Settings and fiddled with Preview File Format and size, but that doesn't seem to do anything. I'm currently looking around at codecs (Cineform, DNxHD), but don't know if those can help.
What settings should I alter to get better previews?Well I'm still pretty clueless about this, but for anyone who is looking at this and wondering, here's what I've gleaned:
1. After Effects, especially CS6, makes much more and better use of graphics cards than does Premiere Pro. I'm guessing that PP will, in future versions, make better use of them. For now, no need to spend more than a couple hundred bucks on one.
2. Update the software. PP and AE both performed substantially better after installing the .01 update from adobe. After you install the update, be sure to re-do the CUDA hack, if necessary.
3. As it stands, money for a PP system is best spent on a processor, as in the newest Intel (currently Ivy Bridge), and overclocked. This is where performance happens. I'd say on a 2012 system, 16 GB RAM should be considered a minimum for video editing, and 24 or 32 if you can afford it. More than that probably won't be utilized. Hard disks can affect performance, but I don't think it's a bottleneck unless you're doing something that requires VERY fast/large reads and writes (4k source?). Most people who have high-end editing stations also have a bunch of drives in RAID, but if you look at the performance chart, the SECOND highest scoring tester did not use RAID (though did use a presumably fast and large SSD).
Keep in mind that all of this has to do with RENDER speeds. I still don't know what the bottleneck is for PREVIEWS, but I'm just going to assume it's the same. -
Can I upgrade HD to 750GB, 7200rpm on 13-Inch 2008 macbook (white)?
I've just ordered a 'Western Digital Scorpio Black 750GB, 7200rpm, 2.5-inch internal Hard Drive' to upgrade the internal HD on my Early 2008 13-inch Macbook (white). It is only subsequently I've thought to check if there may be any issues with this, and I've read conflicting information. Some sources say the maximum compatible HD memory is 500GB, some say the maximum rpm is 5400rpm, others say 750GB and 7200rpm are compatible with the 2008 13-inch Macbooks.
I don't want to open the sealed packaging of the new 750GB, 7200rpm Hard Drive if I'm going to have to return it. Can anyone conclusively advise if this Hard Drive will be compatible with my Macbook?
The Macupgrades website shows a 'Seagate Momentus' 750GB, 7200rpm drive as being compatible, but only shows the 'WD Scorprio Blue' 750GB version, which runs at a slower 5400rpm - it doesn't mention the faster Scorpio Black (7200rpm) version (scroll further down the page to view HD compatibility): http://www.macupgrades.co.uk/store/machine.php?name=macbook
Any advice would be greatly appreciated.
Thanks.
TanjaDid you ever find out if this is possible? Did you try the drive and it worked out for you?
I'm actually considering the same drive, so I'd love to hear what happened.
https://discussions.apple.com/thread/4280339 -
Need advice about Macbook internal HD and Logic Pro
Hi!
If I use an external Firewire HD for my projects. The Audiofiles gets saved ( recorded ) in the "audio" folder inside the projects folder on the external HD.
Does it have ANY impact on my macbooks ( logic pro's ) performance that the internal HD of the macbook is only a 5400 RPM HD.
Ill try to be silly clear here so u'll understand my question right.
Is the internal Hard disk used in ANY way if the project is on an external HD. Is the internal HD used for playing samples "live" for Ultrabeat, RMX, EXS24 and so on or not or that doesnt matter for performance.
I need to avoid the intern HD so I am wondering what to do. Should I buy a new 7200 RPM HD even if the projects is situated on external HD.
To be uberclear: Macbook, black, intel core duo, 2.0 Ghz, 1 GB intern. 100 Gb 5400 RPM internHd. Logic Pro 7.2.3. External FW HD 7200 RPM. Latest Tiger update.
/ Mikkeyes the internal drive has an impact on performance. this is related to how much RAM you have, but even if you have the max 2GB RAM that you can have in a macbook (or 3GB if they updated it to that like the pros), OSX still uses the system drive for a great deal of swap files. logic does too. it's just the way it all works. back in OS9 days, you may (or may not) remember a thing called virtual memory.. well that hasn't disappeared from OSX as many people think, it's actually built in and always operating under the hood, but it self-manages... there's no need for a user to assign amounts of hard drive for VM, or to assign the memory allocation for applications. OSX does it all by itself, and it does make judicious use of the system drive just to function.
logic also is part of this equation. depending on how you set it up, if some of your exs library is on the system drive (such as the basic library or garage band sounds), then it's possible that logic will access the sys drive at times if you have exs streaming enabled. also, if your freeze files get created on the sys drive, they'll be read from there too.
with all that in mind, the other thing is that the 5400rpm is not really that slow. in fact, if it is a drive that uses the new PMR technology (the 5400s in the latest macbook pro do use this, don't know about the standard macbook), then there have been plenty of tests out there that show it's almost as fast as a 7200rpm longitudinal drive, and under some circumstances, faster.
personally, I ordered a macbook pro with a 7200rpm because I want my system drive to be as zippy as possible for all the fast read/writes that the system does. battery life is not an issue for me as it will always be used in a powered situation. a good review of the 7200rpm drive vs the new PMR 5400s that are the options in the new macbook pros that I read on the net said that the 7200 still does have the slight edge in performance. except, curiously, when the drives are both getting full, at which point they both slow down and the 5400 almost equals the 7200. I wish I could remember the site so I could post the link, it was a laptop review site and they ran their own tests so it wasn't just based on quoted specs.
anyway for me I'm still going to use an external FW800 for audio and sound library, the internal is just for system. I made the choice to go 7200 for the system performance reasons above, but I really don't think you'll be disappointed with the 5400. -
Internal scsi drives on mac pro?
I have just received my Mac Pro, which will soon be put into use as the center of a commercial audio recording facility. I was under the impression that the SCSI drives I had been using in my aging MDD dual 1 GHZ would be port-able to the new box. But, after snooping around a little bit on the boards here, and looking into the machine itself, this appears not to be possible.
Is it true that ONLY SATA drives are compatible as internal drives in the new Macs?
If so, then I need to sort out my new drive configuration for the studio machine. For better or worse, my studio uses ProTools, which does not support RAID of any sort. So I'm left looking at sharing the internal SATA bus with the system drive, going with an external FW800 drive, or investing in an external SCSI drive (ugh).
Any thoughts would be welcome.
Thanks,
Nick
mp 8-core 3ghz Mac OS X (10.4.9) 8gb RAMfollowing up on this thread -
I purchased the external chassis recommended above and have compared transfer rates with the somewhat unscientific copy time test, from the desktop of the apple SATA boot drive to and between various other drives. It appears that the internal SATA 7200RPM drive I bought from OWC is outperforming the external (10000RPM) SCSI drives I have mounted in the enclosure. This seems odd to me. I'm not sure if the bus speed is being ratcheted down to accommodate the cabling (SCSI 3) or what. I appear to be getting roughly one third of the 160MB/S limit on the Ultra160 drive (the buffer size is 8MB on this drive as opposed to 16MB on the 7200 drive).
Theoretically, the bus throughput is higher on the SATA bus, but I thought that would be outweighed by the drive performance - that appears not to be true. It also appears that the SATA drive is FASTER on the duplication process than the SCSI drive, which leads me to believe that the rotation speed is being trumped by something else - buffer size perhaps?
Any thoughts would be welcome. Here are the results of my testing.
Copying 1.27GB .zip archive:
desktop to 2nd internal SATA drive: 19 seconds (68MB/S or .53Gb/S)
desktop to external SCSI drive: 25 seconds (52MB/S)
2nd internal SATA to desktop: 19 seconds (68MB/S)
Duplicating 1.27GB .zip archive on the same drive:
internal SATA: 50 seconds
external SCSI drive #2: 58 seconds -
So I wanted a bigger and faster internal HD. Got a Hitachi 500GB, 7200RPM drive - which in all reviews and on all forums where recommended ahead of the few other similar options.
I put my original 250GB drive in an external box after installing the Hitachi. Carbon Copy Cloned my original drive to the new internal one.
And everything works - the Mac seems faster and more responsive........but every few minutes I get the spinning beachball and the Mac is frozen for about half a minute. This seems to especially happen much when using Safari.
It drives me crazy. I have tried 4 different brand new Hitachi drives now, I have Carbon Copy Cloned, used Disc Utility's restore function, I have installed a brand new OS and used Migration Assistant, tried to restore from Time Machine...and of course every time repaired permission before and after. Still keep getting the same result.
Is there any solution, or is this particular HD for some reason not compatible with the Macbook Pro?You may have the problem that's the subject of this thread (and the first part of that thread that was closed):
http://discussions.apple.com/thread.jspa?threadID=2267098&start=0&tstart=0
If you're going to stay with a mechanical hard drive (as opposed to an SSD), you can try reverting your EFI firmware version back to 1.6. I think a link to the file that will revert the firmware was posted in the first part of the above thread. This file was not released by Apple, so you do this at your own risk, but I haven't heard of anyone that's harmed their computer by using it. To avoid any warranty issues, you can take the machine to an Apple store and ask the tech support guy there to downgrade the EFI firmware. Not every tech support guy may be aware of this though.
The other solution, which appears to address the underlying cause, is to replace the SATA cable with one that has better shielding. This is also addressed in the above thread. This second approach is best for anyone that intends to use an SSD because reverting back to EFI 1.6 will prevent the SSD from maximizing its data transfer rate. Most mechanical hard drives, on the other hand, won't benefit as much from the faster throughput set by the EFI 1.7 update.
It's possible you have some other problem, but these are two approaches that may get your new drive working. Good luck. -
PSE 8 - move catalog from external to internal HD
On my old computer, I moved my catalog from an internal hard drive to an external one. After ages and ages of reconnecting files, I backed it up, put the external HD on the new computer, and restored it. Now I want to copy or move all the files from the slow external HD to the faster internal one. But I can't figure out how to do this? Only the catalog moved but not the individual files.
Any suggestions?Excellent point. I should have been more specific.
What I did was:
File->backup catalog to CD, DVD or Hard Drive
followed by
File->restore catalog from CD, DVD or Hard Drive
I then selected restore files and catalog to new location, specified a new location on drive C, and selected restore original folder structure.
After all that, I have all my photos but when I click on show properties for one of them, it lists its location as being on the external HD and not the internal drive C.
Hope this helps. -
hiiiiii all im very new to abap plz suggest me steps so that i can reduce the runtime speed of my program
thanks in advance
hoping 4 quick help
gauravhi gaurav,
plz refer to the following lines.
For all entries
Nested selects
Select using JOINS
Use the selection criteria
Use the aggregated functions
Select with view
Select with index support
Select Into table
Select with selection list
Key access to multiple lines
Copying internal tables
Modifying a set of lines
Deleting a sequence of lines
Linear search vs. binary
Comparison of internal tables
Modify selected components
Appending two internal tables
Deleting a set of lines
Tools available in SAP to pin-point a performance problem
Optimizing the load of the database
Other General Tips & Tricks for Optimization
For all entries:
The for all entries creates a where clause, where all the entries in the driver table are combined with OR. If the number of entries in the driver table is larger than rsdb/max_blocking_factor, several similar SQL statements are executed to limit the length of the WHERE clause.
The plus
Large amount of data
Mixing processing and reading of data
Fast internal reprocessing of data
Fast
The Minus
Difficult to program/understand
Memory could be critical (use FREE or PACKAGE size)
Some steps that might make FOR ALL ENTRIES more efficient:
Removing duplicates from the the driver table
Sorting the driver table
If possible, convert the data in the driver table to ranges so a BETWEEN statement is used instead of and OR statement:
FOR ALL ENTRIES IN i_tab
WHERE mykey >= i_tab-low and
mykey <= i_tab-high.
Nested selects:
The plus:
Small amount of data
Mixing processing and reading of data
Easy to code - and understand
The minus:
Large amount of data
when mixed processing isnt needed
Performance killer no. 1
Select using JOINS:
The plus
Very large amount of data
Similar to Nested selects - when the accesses are planned by the programmer
In some cases the fastest
Not so memory critical
The minus
Very difficult to program/understand
Mixing processing and reading of data not possible
Use the selection criteria
SELECT * FROM SBOOK.
CHECK: SBOOK-CARRID = 'LH' AND
SBOOK-CONNID = '0400'.
ENDSELECT.
SELECT * FROM SBOOK
WHERE CARRID = 'LH' AND
CONNID = '0400'.
ENDSELECT.
Use the aggregated functions
C4A = '000'.
SELECT * FROM T100
WHERE SPRSL = 'D' AND
ARBGB = '00'.
CHECK: T100-MSGNR > C4A.
C4A = T100-MSGNR.
ENDSELECT.
SELECT MAX( MSGNR ) FROM T100 INTO C4A
WHERE SPRSL = 'D' AND
ARBGB = '00'.
Select with view
SELECT * FROM DD01L
WHERE DOMNAME LIKE 'CHAR%'
AND AS4LOCAL = 'A'.
SELECT SINGLE * FROM DD01T
WHERE DOMNAME = DD01L-DOMNAME
AND AS4LOCAL = 'A'
AND AS4VERS = DD01L-AS4VERS
AND DDLANGUAGE = SY-LANGU.
ENDSELECT.
SELECT * FROM DD01V
WHERE DOMNAME LIKE 'CHAR%'
AND DDLANGUAGE = SY-LANGU.
ENDSELECT.
Select with index support
SELECT * FROM T100
WHERE ARBGB = '00'
AND MSGNR = '999'.
ENDSELECT.
SELECT * FROM T002.
SELECT * FROM T100
WHERE SPRSL = T002-SPRAS
AND ARBGB = '00'
AND MSGNR = '999'.
ENDSELECT.
ENDSELECT.
Select Into table:
REFRESH X006.
SELECT * FROM T006 INTO X006.
APPEND X006.
ENDSELECT
SELECT * FROM T006 INTO TABLE X006.
Select with selection list:
SELECT * FROM DD01L
WHERE DOMNAME LIKE 'CHAR%'
AND AS4LOCAL = 'A'.
ENDSELECT
SELECT DOMNAME FROM DD01L
INTO DD01L-DOMNAME
WHERE DOMNAME LIKE 'CHAR%'
AND AS4LOCAL = 'A'.
ENDSELECT
Key access to multiple lines:
LOOP AT TAB.
CHECK TAB-K = KVAL.
ENDLOOP.
LOOP AT TAB WHERE K = KVAL.
ENDLOOP.
Copying internal tables:
REFRESH TAB_DEST.
LOOP AT TAB_SRC INTO TAB_DEST.
APPEND TAB_DEST.
ENDLOOP.
TAB_DEST[] = TAB_SRC[].
Modifying a set of lines:
LOOP AT TAB.
IF TAB-FLAG IS INITIAL.
TAB-FLAG = 'X'.
ENDIF.
MODIFY TAB.
ENDLOOP.
TAB-FLAG = 'X'.
MODIFY TAB TRANSPORTING FLAG
WHERE FLAG IS INITIAL.
Deleting a sequence of lines:
DO 101 TIMES.
DELETE TAB_DEST INDEX 450.
ENDDO.
DELETE TAB_DEST FROM 450 TO 550.
Linear search vs. binary:
READ TABLE TAB WITH KEY K = 'X'.
READ TABLE TAB WITH KEY K = 'X' BINARY SEARCH.
Comparison of internal tables
DESCRIBE TABLE: TAB1 LINES L1,
TAB2 LINES L2.
IF L1 <> L2.
TAB_DIFFERENT = 'X'.
ELSE.
TAB_DIFFERENT = SPACE.
LOOP AT TAB1.
READ TABLE TAB2 INDEX SY-TABIX.
IF TAB1 <> TAB2.
TAB_DIFFERENT = 'X'. EXIT.
ENDIF.
ENDLOOP.
ENDIF.
IF TAB_DIFFERENT = SPACE.
ENDIF.
IF TAB1[] = TAB2[].
ENDIF.
Modify selected components:
LOOP AT TAB.
TAB-DATE = SY-DATUM.
MODIFY TAB.
ENDLOOP.
WA-DATE = SY-DATUM.
LOOP AT TAB.
MODIFY TAB FROM WA TRANSPORTING DATE.
ENDLOOP.
Appending two internal tables:
LOOP AT TAB_SRC.
APPEND TAB_SRC TO TAB_DEST.
ENDLOOP
APPEND LINES OF TAB_SRC TO TAB_DEST.
Deleting a set of lines:
LOOP AT TAB_DEST WHERE K = KVAL.
DELETE TAB_DEST.
ENDLOOP
DELETE TAB_DEST WHERE K = KVAL.
Tools available in SAP to pin-point a performance problem
The runtime analysis (SE30)
SQL Trace (ST05)
Tips and Tricks tool
The performance database
Optimizing the load of the database
Using table buffering:
Using buffered tables improves the performance considerably. Note that in some cases a stament can not be used with a buffered table, so when using these staments the buffer will be bypassed. These staments are:
Select DISTINCT
ORDER BY / GROUP BY / HAVING clause
Any WHERE clasuse that contains a subquery or IS NULL expression
JOIN s
A SELECT... FOR UPDATE
If you wnat to explicitly bypass the bufer, use the BYPASS BUFFER addition to the SELECR clause.
Use the ABAP SORT Clause Instead of ORDER BY:
The ORDER BY clause is executed on the database server while the ABAP SORT statement is executed on the application server. The datbase server will usually be the bottleneck, so sometimes it is better to move thje sort from the datsbase server to the application server.
If you are not sorting by the primary key ( E.g. using the ORDER BY PRIMARY key statement) but are sorting by another key, it could be better to use the ABAP SORT stament to sort the data in an internal table. Note however that for very large result sets it might not be a feasible solution and you would want to let the datbase server sort it.
Avoid ther SELECT DISTINCT Statement:
As with the ORDER BY clause it could be better to avoid using SELECT DISTINCT, if some of the fields are not part of an index. Instead use ABAP SORT + DELETE ADJACENT DUPLICATES on an internal table, to delete duplciate rows.
TIPS & TRICKS FOR OPTIMIZATION
Use the GET RUN TIME command to help evaluate performance. It's hard to know whether that optimization technique REALLY helps unless you test it out. Using this tool can help you know what is effective, under what kinds of conditions. The GET RUN TIME has problems under multiple CPUs, so you should use it to test small pieces of your program, rather than the whole program.
Generally, try to reduce I/O first, then memory, then CPU activity. I/O operations that read/write to hard disk are always the most expensive operations. Memory, if not controlled, may have to be written to swap space on the hard disk, which therefore increases your I/O read/writes to disk. CPU activity can be reduced by careful program design, and by using commands such as SUM (SQL) and COLLECT (ABAP/4).
Avoid 'SELECT *', especially in tables that have a lot of fields. Use SELECT A B C INTO instead, so that fields are only read if they are used. This can make a very big difference.
Field-groups can be useful for multi-level sorting and displaying. However, they write their data to the system's paging space, rather than to memory (internal tables use memory). For this reason, field-groups are only appropriate for processing large lists (e.g. over 50,000 records). If you have large lists, you should work with the systems administrator to decide the maximum amount of RAM your program should use, and from that, calculate how much space your lists will use. Then you can decide whether to write the data to memory or swap space.
Use as many table keys as possible in the WHERE part of your select statements.
Whenever possible, design the program to access a relatively constant number of records (for instance, if you only access the transactions for one month, then there probably will be a reasonable range, like 1200-1800, for the number of transactions inputted within that month). Then use a SELECT A B C INTO TABLE ITAB statement.
Get a good idea of how many records you will be accessing. Log into your productive system, and use SE80 -> Dictionary Objects (press Edit), enter the table name you want to see, and press Display. Go To Utilities -> Table Contents to query the table contents and see the number of records. This is extremely useful in optimizing a program's memory allocation.
Try to make the user interface such that the program gradually unfolds more information to the user, rather than giving a huge list of information all at once to the user.
Declare your internal tables using OCCURS NUM_RECS, where NUM_RECS is the number of records you expect to be accessing. If the number of records exceeds NUM_RECS, the data will be kept in swap space (not memory).
Use SELECT A B C INTO TABLE ITAB whenever possible. This will read all of the records into the itab in one operation, rather than repeated operations that result from a SELECT A B C INTO ITAB... ENDSELECT statement. Make sure that ITAB is declared with OCCURS NUM_RECS, where NUM_RECS is the number of records you expect to access.
If the number of records you are reading is constantly growing, you may be able to break it into chunks of relatively constant size. For instance, if you have to read all records from 1991 to present, you can break it into quarters, and read all records one quarter at a time. This will reduce I/O operations. Test extensively with GET RUN TIME when using this method.
Know how to use the 'collect' command. It can be very efficient.
Use the SELECT SINGLE command whenever possible.
Many tables contain totals fields (such as monthly expense totals). Use these avoid wasting resources by calculating a total that has already been calculated and stored.
ABAP/4 Development Code Efficiency Guidelines
ABAP/4 (Advanced Business Application Programming 4GL) language is an "event-driven", "top-down", well-structured and powerful programming language. The ABAP/4 processor controls the execution of an event. Because the ABAP/4 language incorporates many "event" keywords and these keywords need not be in any specific order in the code, it is wise to implement in-house ABAP/4 coding standards.
SAP-recommended customer-specific ABAP/4 development guidelines can be found in the SAP-documentation.
This page contains some general guidelines for efficient ABAP/4 Program Development that should be considered to improve the systems performance on the following areas:-
Physical I/O - data must be read from and written into I/O devices. This can be a potential bottle neck. A well configured system always runs 'I/O-bound' - the performance of the I/O dictates the overall performance.
Memory consumption of the database resources eg. buffers, etc.
CPU consumption on the database and application servers
Network communication - not critical for little data volumes, becomes a bottle neck when large volumes are transferred.
Policies and procedures can also be put into place so that every SAP-customer development object is thoroughly reviewed (quality program correctness as well as code-efficiency) prior to promoting the object to the SAP-production system. Information on the SAP R/3 ABAP/4 Development Workbench programming tools and its features can be found on the SAP Public Web-Server.
CLASSIC GOOD 4GL PROGRAMMING CODE-PRACTICES GUIDELINES
Avoid dead-code :
Remove unnecessary code and redundant processing
Spend time documenting and adopt good change control practices
Spend adequate time anayzing business requirements, process flows, data-structures and data-model
Quality assurance is key: plan and execute a good test plan and testing methodology
Experience counts
SELECT * FROM <TABLE>
CHECK: <CONDITION>
ENDSELECT
vs.
SELECT * FROM <TABLE>
WHERE <CONDITION>
ENDSELECT
In order to keep the amount of data which is relevant to the query the hit set small, avoid using SELECT+CHECK statements wherever possible. As a general rule of thumb, always specify all known conditions in the WHERE clause (if possible). If there is no WHERE clause the DBMS has no chance to make optimizations. Always specify your conditions in the Where-clause instead of checking them yourself with check-statements. The database system can also potentially make use a database index (if possible) for greater efficiency resulting in less load on the database server and considerably less load on the network traffic as well.
Also, it is important to use EQ (=) in the WHERE clause wherever possible, and analyze the SQL-statement for the optimum path the database optimizer will utilize via SQL-trace when necessary.
Also, ensure careful usage of "OR", "NOT" and value range tables (INTTAB) that are used inappropriately in Open SQL statements.
SELECT *
vs.
SELECT SINGLE *
If you are interested in exactly one row of a database table or view, use the SELECT SINGLE statement instead of a SELECT * statement. SELECT SINGLE requires one communication with the database system whereas SELECT * requires two.
SELECT * FROM <TABLE> INTO <INT-TAB>
APPEND <INT-TAB>
ENDSELECT
vs.
SELECT * FROM <TABLE> INTO TABLE <INT-TAB>
It is usually faster to use the INTO TABLE version of a SELECT statement than to use APPEND statements
SELECT ... WHERE + CHECK
vs.
SELECT using aggregate function
If you want to find the maximum, minimum, sum and average value or the count of a database column, use a select list with aggregate functions instead of computing the aggregates within the program. The RDBMS is responsible for aggregated computations instead of transferring large amount of data to the application. Overall Network, Application-server and Database load is also considerably less.
SELECT INTO TABLE <INT-TAB> + LOOP AT T
SELECT * FROM <TABLE> INTO TABLE <INT-TAB>.
LOOP AT <INT-TAB>.
ENDLOOP.
vs.
SELECT * FROM <TABLE>
ENDSELECT
If you process your data only once, use a SELECT-ENDSELECT loop instead of collecting data in an internal table with SELECT ... INTO TABLE. Internal table handling takes up much more space
Nested SELECT statements:
SELECT * FROM <TABLE-A>
SELECT * FROM <TABLE-B>
ENDSELECT.
ENDSELECT
vs.
Select with view
SELECT * FROM <VIEW>
ENDSELECT
To process a join, use a view wherever possible instead of nested SELECT statements.
Using nested selects is a technique with low performance. The inner select statement is executed several times which might be an overhead. In addition, fewer data must be transferred if another technique would be used eg. join implemented as a view in ABAP/4 Repository.
SELECT ... FORM ALL ENTRIES
Explicit cursor handling (for more information, goto Transaction SE30 Tips & Tricks)
Nested select:
SELECT * FROM pers WHERE condition.
SELECT * FROM persproj WHERE person = pers-persnr.
... process ...
ENDSELECT.
ENDSELECT.
vs.
SELECT persnr FROM pers INTO TABLE ipers WHERE cond. .
SELECT * FROM persproj FOR ALL ENTRIES IN ipers
WHERE person = ipers-persnr
... process .
ENDSELECT.
In the lower version the new Open SQL statement FOR ALL ENTRIES is used. Prior to the call, all interesting records from 'pers' are read into an internal table. The second SELECT statement results in a call looking like this (ipers containing: P01, P02, P03):
(SELECT * FROM persproj WHERE person = 'P01')
UNION
(SELECT * FROM persproj WHERE person = 'P02')
UNION
(SELECT * FROM persproj WHERE person = 'P03')
In case of large statements, the R/3's database interface divides the statement into several parts and recombines the resulting set to one. The advantage here is that the number of transfers is minimized and there is minimal restrictions due to the statement size (compare with range tables).
SELECT * FROM <TABLE>
vs.
SELECT <column(s)> FROM <TABLE>
Use a select list or a view instead of SELECT *, if you are only interested in specific columns of the table. If only certain fields are needed then only those fields should be read from the database. Similarly, the number of columns can also be restricted by using a view defined in ABAP/4 Dictionary. Overall database and network load is considerably less.
SELECT without table buffering support
vs.
SELECT with table buffering support
For all frequently used, read-only(few updates) tables, do attempt to use SAP-buffering for eimproved performance response times. This would reduce the overall Database activity and Network traffic.
Single-line inserts
LOOP AT <INT-TAB>
INSERT INTO <TABLE> VALUES <INT-TAB>
ENDLOOP
vs.
Array inserts
Whenever possible, use array operations instead of single-row operations to modify the database tables.
Frequent communication between the application program and database system produces considerable overhead.
Single-line updates
SELECT * FROM <TABLE>
<COLUMN-UPDATE STATEMENT>
UPDATE <TABLE>
ENDSELECT
vs.
Column updates
UPDATE <TABLE> SET <COLUMN-UPDATE STATEMENT>
Wherever possible, use column updates instead of single row updates to update your database tables
DO....ENDDO loop with Field-Symbol
vs.
Using CA operator
Use the special operators CO, CA, CS instead of programming the operations yourself
If ABAP/4 statements are executed per character on long strings, CPU consumprion can rise substantially
Use of a CONCATENATE function module
vs.
Use of a CONCATENATE statement
Some function modules for string manipulation have become obsolete, and should be replaced by ABAP statements or functions
STRING_CONCATENATE... ---> CONCATENATE
STRING_SPLIT... ---> SPLIT
STRING_LENGTH... ---> strlen()
STRING_CENTER... ---> WRITE..TO. ..CENTERED
STRING_MOVE_RIGHT ---> WRITE...TO...RIGHT-JUSTIFIED
Moving with offset
vs.
Use of the CONCATENATE statement
Use the CONCATENATE statement instead of programming a string concatenation of your own
Use of SEARCH and MOVE with offset
vs.
Use of SPLIT statement
Use the SPLIT statement instead of programming a string split yourself
Shifting by SY-FDPOS places
vs
Using SHIFT...LEFT DELETING LEADING...
If you want ot delete the leading spaces in a string use the ABAP/4 statements SHIFT...LEFT DELETING LEADING... Other constructions (with CN and SHIFT... BY SY-FDPOS PLACES, with CONDENSE if possible, with CN and ASSIGN CLA+SY-FDPOS(LEN) ...) are not as fast
Get a check-sum with field length
vs
Get a check-sum with strlen ()
Use the strlen () function to restrict the DO loop to the relevant part of the field, eg. when determinating a check-sum -
512 ssd vs 256 ssd 750 hdd 7200rpm?
Hi I read that several people configure 256gb ssd + 750gb hdd 7200rpm, cause they use the ssd for applications and the hhd for storage. But in general you
will be working with both of them right? example whatch a movie. The program is on ssd but the movie is on hdd. So it will load faster on a plain 512 ssd or 2x256 ssd?Ralph your response is way off. The answer to OP's question mostly depends on write performance of the SSD, especially after the SSD has become full and the OS is starting to erase previously deleted (but not yet fully erased) blocks. That is when the SSD starts to slow down, and then the TRIM feature of SSD controller needs to be benchmarked. To answer the OP's question, one needs to run benchmarks of various use cases, especially against an aged SSD.
I found this question myself googling for answers to same topic. Most benchmarks do not seem to be testing aged SSDs, but brand new out of the box SSDs that will usually smoke even 7200RPM drives. But what happens 3 months later after the SSD virgin blocks have been written to at least once and then it starts it slow erase cycles?
Read performance of the SSD will always be faster than the 7200RPM drive, esp when comparing random access or fragmented file system accesses. So why does write performance matter if you aren't, for example, doing heavy write tasks like saving video files? Because the OS does tons of little random reads AND writes just sitting there... anything you do like open a new browser tab or start a Flash player will open up temp files for writing... so write performance becomes quite important if writes start to get really slow for any reason.
edit: some anecdotal evidence that aging the SSD is not slowing down write for modern SSDs vs the bad experience I had with 1st gen SSDs.
http://forums.anandtech.com/showthread.php?t=2218206
Maybe you are looking for
-
Assigning roles to 10000 users
Hi Guru's, I need your solution regarding role assignment to 10000 users.My client is having 10000 users. My perception for this is [Role] Roleid = Path; user = user1;user2;user3;...............user10000; Writing above
-
External hard drives ejecting after iMac wakes from sleep.
External hard drive keeps ejecting after iMac wakes from sleep. TM does not recognise, so have to unplug then re plug in Ext HD, only then TM will perform a back up. Not seamless backups. Help to resolve would be grand
-
hi guys!do you know if i could connect my imac (through the hdmi cable) with the ps3 and use the imac as a screen to play games?? many thanks!
-
How does someone get their Time Capsule serviced?
Hi all, My 500gb Time Capsule has started to show the dreaded "Volume Can Not Be Mounted" error that I've seen mentioned on this message board a few times. This has been happening for both my computer (a MBP) and my fiance's computer (a MB.) I tried
-
Hi all, I am using jdeveloper 9i version. I have 2 instances. When i am trying to run the page, one instance page is working fine but in other instance it is showing the below error. oracle.apps.fnd.framework.OAException: No data found for region (