News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Topic on Performance

Started by paranoidx, May 10, 2006, 12:00:18 AM

Previous topic - Next topic

paranoidx

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.


Ar-ras

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...


hutch--

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.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

BogdanOntanu

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).


Ambition is a lame excuse for the ones not brave enough to be lazy.
http://www.oby.ro

paranoidx

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.