[fpc-devel] Improving i8086 performance..
Nikolay Nikolov
nickysn at gmail.com
Thu Jan 2 23:52:41 CET 2014
On 01/01/2014 05:35 PM, Max Nazhalov wrote:
>> Date: Tue, 31 Dec 2013 19:42:44 +0200
>> From: Nikolay Nikolov <nickysn at gmail.com>
>>
>> I got my PSU fixed and now I have results from my 10 MHz PS/2 Model 30 286:
>> 32pas: ticks = 814
>> 32asm: ticks = 30
>> ~27x faster
>>
>> 64pas: ticks = 1130
>> 64asm: ticks = 30
>> ~38x faster
> Thanks for follow-up, Nikolay!
> I'm still looking for performance bottlenecks of the current float<->ascii conversion. Can You run the attached benchmark to make it clear how the uint32|uint64 multiplication affects this?
Ok, I compiled it with the latest fpc trunk, with -O2 -WmMedium. Here
are the binaries:
http://debian.fmi.uni-sofia.bg/~nickysn/fpc-8086/testf80/
Here are the results from my 286:
testf80p.exe:
Seed: 0x004A0020
Predefs: 0
Input count and press ENTER (blank to use the default=1000000) >1000
Count: 1000
[normal] null: 7.799 s
[normal] f2a: 129.510 s (t-null)
[normal] a2f: 89.703 s (t-f2a-null)
[subnormal] null: 4.771 s
[subnormal] f2a: 163.248 s (t-null)
[subnormal] a2f: 96.229 s (t-f2a-null)
Next seed: 0xFFB5FFDF
Note:
Small count of numers will lead to arbitrarily imprecise/random timings.
testf80a.exe:
Seed: 0x2601002E
Predefs: 0
Input count and press ENTER (blank to use the default=1000000) >1000
Count: 1000
[normal] null: 4.500 s
[normal] f2a: 22.580 s (t-null)
[normal] a2f: 17.749 s (t-f2a-null)
[subnormal] null: 4.071 s
[subnormal] f2a: 27.558 s (t-null)
[subnormal] a2f: 18.730 s (t-f2a-null)
Next seed: 0xD9FEFFD1
Note:
Small count of numers will lead to arbitrarily imprecise/random timings.
Nikolay
More information about the fpc-devel
mailing list