The MASM Forum Archive 2004 to 2012

General Forums => The Workshop => Topic started by: paranoidx on May 10, 2006, 12:00:18 AM

Title: Topic on Performance
Post by: paranoidx on May 10, 2006, 12:00:18 AM
Hi,

I notice that as long as that word "which is faster" or "Why is it faster" appears. I can pretty much expect a series of replies. Since MASM is so performance orientated. Why not develop a benchmark/tweak app. Whereby it is a bootdisk and/or winapp(with warning to close all unnessary app esp those that affects other process such as AV) to benchmark the computer at hand. Bootdisk so that no app can interfere with the benchmark scores.

So you have:
Comp Spec like processor 2.8ghz 1024 RAM etc and performance/score for each op code tested.

Not only will this collectivise performance argument but also can be a platform for developers to note all the variations and hence cater for the difference/flaws.

Given the constant hardware etc. that is being rolled out. Not even going to brands. It will definately be a interesting/beneficial project for all. It will definately make generic/custom apps much much more readily compatible to all platforms as it places reference in one neat, hopefully tidy, organise fashion.

I think it only make sense since the technology curve is exponential i.e. hardware is being rolled out at a much faster pace and changes is being made not only to years but months and/or days.. and I think it won't be long til its hours/mins like "design your own platform".  :green2

I think ultimately it might dev into a lib of CPU/hardware detection where all Masm developer can utilise to detect and varied there code to optimise the performance. It can also be a nice optimization add-on or manual for the masm distro.

It might seem impossible task at first, but just look at this forum. It pretty much testifies that with a community nothing is impossible.

As I'm new to Masm myself I cannot possibly begin. But I will be glad to share feedbacks/tests/do research if it is necessary.

Just a suggestion.

Title: Re: Topic on Performance
Post by: Ar-ras on May 10, 2006, 12:47:46 AM
afaik we optimize our codes with playing around with the opcodes and watching which opcode uses a small amount of processortacts
So this method of benchmarking is brainwork but it is independent of running processes...
And I think the timemacros for performnce checks this too...

Title: Re: Topic on Performance
Post by: hutch-- on May 10, 2006, 02:05:47 AM
Hi paranoidx,

Welcome on board. You will find once you get the swing of the amount of stuff floating around in the forum that the area of benchmarking is pretty well understood, both in terms of clock cycles and real time testing, both of which have their uses. Logging hardware variations is a reasonably complex set of operations as people use hardware over a wide range and while the basic differences between Intel and AMD hardware are reasonably well understood, you then get a wide variation range with different processors by the same manufacturer, memory speed, bus speed and so on so its not really a simple area to encapsulate in a hurry.
Title: Re: Topic on Performance
Post by: BogdanOntanu on May 10, 2006, 02:39:07 AM
You could or will be able to use SolarOS for such tasks.

Because it runs in ring-0 full protetced mode. You have full control over the hardware and you can take over 100% of the CPU if you so like or want. You only have to do a CLI / STI...

The only unsolved issue would be how to get the result out from screen  into a file ;).
Until I finish the filesystems drivers that is...

The only solution now would be coding your own routines to write the results on the HDD (unsafe) and then read the data back in windows or doing the same on a floppy (safer).


Title: Re: Topic on Performance
Post by: paranoidx on May 18, 2006, 03:08:37 AM
Hutch: thank you for the welcome. Might I add that I really enjoy reading articles in this forum and are learning a lot from it. Appreciate the effort and hard work that has gone into this forum.

And yes I understand that it is not a simple and/or easy task to pursue.

The reason I propose for such a library is to cater for those unusual situations, such that of:
http://www.masmforum.com/simple/index.php?topic=4662.0 or any others in the similar.