|
The speed only dictates what options are suggested to be turned off. It is not a throttle for the actual speed of the data going over the wire.
What will speed up rendering of the screen image you see is if you turn off various options. But, over a 1GB connection, this won't help at all since your connection is so fast to begin with. You can turn everything on and still not see any degredation in performance.
|
|
|
|
|
It's what I thought as the behavior of changing the setting allows you to see that some checkboxes are checked/unchecked.
But I wanted to be sure that it was in that way.
Thank you for your answer! :thimbsup:
|
|
|
|
|
is there a way to clear (or selectively remove files from) Windows' file read cache ?
my app uses a lot of really large data files (~16GB worth) - most of them are used to look up small chunks of data via a binary search. so, a lot of seeks and small reads. this can't be changed - it's just the nature of the problem. and, my input data is fixed - i can't invent new test data, i can only use what was given to me. so, i end up running the same data through the system, over and over.
what this means is that the first run of the morning is slow - every lookup goes to the file, all seeks and reads are on the actual file. but every subsequent run is very fast because all those little reads for the lookups from the first run have already been cached in Windows' file read cache. while the speed is nice for testing, it's misleading. end users will not be running the same data through, over and over, so they won't get the benefit of the read cache.
so, for performance testing / optimization, i really need to be able to force all that cached data out of Windows file cache after each run, so that it will have to go back to the disk for the next run.
i've done a lot of Googling, but haven't found any good answer to this. (no, SysInternals' CacheSet doesn't work)
anybody know how to do this?
|
|
|
|
|
Hi Chris,
good question, for which I don't know (and never saw) a solution, other than a reboot. I'll be interested in anything that comes up, and not just for Win7.
FWIW some ideas that may or may not apply, I can't tell as you didn't tell much about the app itself:
- have several identical files; with N files you could execute N cold runs.
- reorganize the data file to better take advantage of the fact that you binary search a lot; it typically means you read lots of sectors/clusters to check a few bytes and dismiss the data; using the smallest possible nodes (each with a pointer to the actual data if you really want it) improves locality of data, and may dramatically improve performance, hence reduce the warm/cold problem.
- use a database instead of a large file.
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|
|
Chris Losinger wrote: anybody know how to do this?
Nope, but this[^] SO-answer looks promising (see the answer on FILE_FLAG_NO_BUFFERING).
Wouldn't it roughly be measuring the same lookup over and over? How would that differ from doing the run once and multiply it with the number of desired runs? If you really need to test different lookups, than you'd have to take in account that some lookups may take longer than others.
I are Troll
|
|
|
|
|
Eddy Vluggen wrote: Wouldn't it roughly be measuring the same lookup over and over?
i have only one input data set, but it's 2300 different records. that's enough to hit most of the code paths.
Eddy Vluggen wrote: this[^] SO-answer looks promisin
hmm. interesting. i always assumed that NO_BUFFERING thing meant that there was no read-ahead buffer to assist in small sequential reads, not that the OS doesn't put the data into its file system cache. time to re-investigate.
|
|
|
|
|
|
Luc Pattyn wrote: Hmm. I always thought FILE_FLAG_NO_BUFFERING was making the file accesses slower for that file
I didn't even know such a feature existed, until today - I'll be reading the article tonight, thanks for the link
|
|
|
|
|
if you can put the files on a removable drive, removing the drive will clear the files from Windows' file cache.
|
|
|
|
|
I thought of that too, however I rejected the idea because I expect the removable disk to be slower, which I guess is not what you want. There must be many ways to make it slower or even awfully slow so all cold/hot aspects vanish...
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|
|
slow isn't bad. as long as it's consistent. and, slow testing increases the incentive to make the process even faster!
|
|
|
|
|
so insert a Thread.Sleep(1000000) in the startup code and all speed variations become moot.
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|
|
|
I was afraid you were thinking that. In my experience, and I have been concentrating on performance for as long as I'm active in electronics and software, optimizing something based on observations under abnormal conditions is most often a waste of time. For instance, the way multi-threaded operations evolve will be different when you switch from a faster to a slower disk, or vice versa.
Side note: think of the highways; when traffic increases and things tend to slow down, they decrease the speed limits to get the cars moving faster. Sounds weird at first, it actually works.
Yes you can try and optimize simple things (say a numeric algorithm, one thread, no blocking calls) under synthetic conditions. However, as soon as your app has some level of complexity (i.e. many threads doing uncorrelated stuff), overall app performance optimization requires realistic conditions to be relevant. And that makes optimization an iterative process: as soon as you make a second decision, you have to question your first decision again. If not, you may end up in a local minimum rather than the overall minimum.
For real observations, a reboot is the only thing I know of that provides the cold start numbers (an alternative I mentioned earlier would be using N identical files, using a different one for each of N runs). If that is too cumbersome, then, as a quick and dirty approach, you could just ignore the first (cold) run and assume all other runs are comparable (which will depend on what other apps your system is also running), but there are no guarantees as I explained before.
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|
|
yes. optimization is tricky, and iterative, and is sensitive to the input data. i assure you, i've done this before.
Luc Pattyn wrote: optimizing something based on observations under abnormal conditions is most often a waste of time
the only thing abnormal about what i'm doing is that i'm running the same data through the system over and over. our customers will typically not run the same data twice - they'll process a data set once, send the results off, and move to the next data set. the Windows cache data from one job will not help them with the next job. so, in order to better match their experience, i need to eliminate all the bits of lookup data that were cached by Windows during the previous run before i start the next.
|
|
|
|
|
In windows xp, when i just select the folder, it display the total umber of the file and the total size in this folder. But I didn't see this in windows 7. Unless I select all file in this folder then it will show. Are there any option that I can do this in windows 7?
|
|
|
|
|
It is automatically visible in my case...
You should only click on the third icon on the right side of any window (just under the search bar) and select "details".
Apart of that at the bottom there is information of the number of files if you have not selected any of them. Also, if you select one file or more than one file the bottom information will change accordingly.
Hope this helps.
|
|
|
|
|
Joan Murt wrote: You should only click on the third icon on the right side of any window (just under the search bar) and select "details".
thank you for your reply. how about the total size of the file?
|
|
|
|
|
Once you are on the details view, you can right-click any of the column headers and select "size". If there is not an element that suits your needs then you can go to the "More..." element and select it from an extended list.
HTH!
On a side note, of course if you select more than one file you will see this information (size of all of the selected files) in the bottom of the window.
|
|
|
|
|
I don't think this is offered in Windows 7 Explorer; another example of improvements to the product.
I must get a clever new signature for 2011.
|
|
|
|
|
hi,
sir i am a student of final year(3 rd)polytechnic in information technology from the vidt\ya bhawan pollytechnic college udaipur rajasthan .
i want make a software as a "webcam security" so i want to know i shuld choose which of the platreform.
webcam security- the program will be start at the login time and when user enter the password then pess the enter then the wbecam shuld take a image and save the administrator directory.
this all work will be on the hide form.
so the user dont identify .
plz sir tell me information
mob-7737622335
mail ID_krishna.taniya@gmail.com
|
|
|
|
|
krishna.taniya wrote: plz sir tell me information
This is a rather difficult question to answer, since you have given no indication of what language you will be using to develop in, or what level of experience you have. I would suggest you go to the articles page and search for webcam programs as a starting point and proceed from there. But please remember not to submit any of the CodeProject articles as your own work.
I must get a clever new signature for 2011.
|
|
|
|
|
i want to ask that how to place an exe in windows 7 startup so that the user (user with USER RIGHTS- LIMITED ACCOUNT ) can't remove that exe from windows startup only the administrator can remove that exe.
If i place in "startup" folder than user can easily remove it
|
|
|
|
|
It's ok to have it in the startup folder, you just have to set the access rights on the file accordingly.
Rightclick on the file and press properties, then select the security tab and remove all rights except read and execute for the user/user group.
|
|
|
|
|
Depending on the tasks to be performed by your application, a Windows Service could actually be the right way to go.
|
|
|
|