View Full Version : New Core, more speed
ErosOlmi
28-06-2008, 09:20
Hi all,
it seems I was able to optimize thinBasic Core engine and have a visibile performance increase from 5% to 15% all over.
If you have some spare time and want to make some tests, can you confirm it? Sometimes those improvements are processor related so not all CPUs give the same results.
Thanks a lot
Eros
Download attached thinCore.dll and thinRes.dll and substitute the one you have in your \thinBasic\ directory.
You need latest official thinBasic 1.6.0.9 installed in ordert to test new Core.
Attached file removed. Speed improve confirmed. It will be present in next release.
Petr Schreiber
28-06-2008, 10:38
Thanks Eros,
the results are very nice, see the chart.
PC was AMD Sempron 3400+ 64bit, 1GB RAM 533 MHz, WinXP SP2
Petr
Michael Clease
28-06-2008, 17:34
Not so good for me on my main pc. I will try my laptop later.
ErosOlmi
29-06-2008, 00:52
Well,
you shows an everage of 9.6% speed improve, to me that figures seems a not bad result.
But I can do more. I know ;)
Ciao
Eros
94 78 17,0%
140 110 21,4%
141 125 11,3%
140 109 22,1%
515 422 18,1%
172 110 36,0%
219 156 28,8%
1265 1219 3,6%
1235 1187 3,9%
656 579 11,7%
219 140 36,1%
1031 953 7,6%
718 687 4,3%
281 203 27,8%
187 204 -9,1%
156 172 -10,3%
625 594 5,0%
----------------------------
7794 7048 9,6%
Eros:
Some test results for you:
Dell Inspiron M1710
Windows XP Professional SP-2
Intel Core 2 T7600 @ 2.33 Ghz
2.00 GB ram
NEW OLD
Test_Speed2_Function w/locals 0.532 sec 0.532 sec
w/params 0.391 sec 0.422 sec
Test_Speed2_Multi-Params VS
Single UDT
1 function w/3 params passed BYVAL 0.734 sec 0.766 sec
BYREF 0.719 sec 0.750 sec
w/UDT w/3 elements 0.344 sec 0.375 sec
1 function without params 0.109 sec 0.141 sec
Test_Speed2 simple math expression
1000000 times 78 msec 109 msec
Don
ErosOlmi
29-06-2008, 10:05
Thanks a lot Don.
Also on your "beast" there seems to be some visible results.
Michael Hartlef
29-06-2008, 11:34
Which script are you guys using for the test results?
Petr Schreiber
29-06-2008, 11:39
I use the one from attachement,
just run BenchmarkAll.bat and then check BenchmarkAll.txt for results. It does not produce chart, for this the Abraxas one would be better ... if I could find it :)
Petr
catventure
29-06-2008, 12:31
Hi,
Here is my test using that bat file.
Intel Pentium D CPU 3.00Ghz
512mb RAM
Windows Vista Home Basic.
Before:
=====
Test_Speed FOR 97.02
Test_Speed WHILE 135.02
Test_Speed DO WHILE 134.46
Test_Speed DO UNTIL 141.25
Test_Speed2 177.01
Test_Speed2_Function 225.91
Test_Speed2_Function_MultiParamsVsSingleUDT 3x BYVAL 1323.12
Test_Speed2_Function_MultiParamsVsSingleUDT 3x BYREF 1306.54
Test_Speed2_Function_MultiParamsVsSingleUDT UDT 3 element 640.19
Test_Speed2_Function_MultiParamsVsSingleUDT NO PARAMETER 226.24
Test_Speed2_Function_WithLocals 1020.18
Test_Speed2_Typed 284.12
Test_Speed_CountOneMillion 177.41
Test_Speed_CountOneMillion_NoFunction 383.37
Test_Speed_Function_WithParams 726.05
Test_Speed_OneMillion_SIN_COS 643.18
After:
====
Test_Speed FOR 89.82
Test_Speed WHILE 123.96
Test_Speed DO WHILE 113.08
Test_Speed DO UNTIL 118.49
Test_Speed2 115.45
Test_Speed2_Function 151.42
Test_Speed2_Function_MultiParamsVsSingleUDT 3x BYVAL 1307.16
Test_Speed2_Function_MultiParamsVsSingleUDT 3x BYREF 1265.95
Test_Speed2_Function_MultiParamsVsSingleUDT UDT 3 element 580.66
Test_Speed2_Function_MultiParamsVsSingleUDT NO PARAMETER 151.89
Test_Speed2_Function_WithLocals 971.36
Test_Speed2_Typed 220.17
Test_Speed_CountOneMillion 176.75
Test_Speed_CountOneMillion_NoFunction 323.93
Test_Speed_Function_WithParams 728.38
Test_Speed_OneMillion_SIN_COS 592.51
Regards,
catventure.
Eros:
The full set of before and after tests on my "beast".
Version 1.6.0.9 Test Results
----------------------------
Test_Speed FOR 62.53
Test_Speed WHILE 89.60
Test_Speed DO WHILE 89.80
Test_Speed DO UNTIL 91.77
Test_Speed_CountOneMillion 147.90
Test_Speed_CountOneMillion_NoFunction 300.63
Test_Speed_OneMillion_SIN_COS 480.65
Test_Speed2 118.51
Test_Speed2_Function 153.09
Test_Speed2_Function_MultiParamsVsSingleUDT 3x BYVAL 765.15
Test_Speed2_Function_MultiParamsVsSingleUDT 3x BYREF 761.51
Test_Speed2_Function_MultiParamsVsSingleUDT UDT 3 element 373.71
Test_Speed2_Function_MultiParamsVsSingleUDT NO PARAMETER 145.12
Test_Speed2_Function_WithLocals 533.05
Test_Speed_Function_WithParams 412.96
Test_Speed2_Typed 189.42
Version 1.6.0.10 Test Results
-----------------------------
Test_Speed FOR 53.84
Test_Speed WHILE 75.45
Test_Speed DO WHILE 76.25
Test_Speed DO UNTIL 83.58
Test_Speed_CountOneMillion 133.71
Test_Speed_CountOneMillion_NoFunction 240.64
Test_Speed_OneMillion_SIN_COS 473.08
Test_Speed2 82.24
Test_Speed2_Function 107.67
Test_Speed2_Function_MultiParamsVsSingleUDT 3x BYVAL 724.58
Test_Speed2_Function_MultiParamsVsSingleUDT 3x BYREF 727.87
Test_Speed2_Function_MultiParamsVsSingleUDT UDT 3 element 335.42
Test_Speed2_Function_MultiParamsVsSingleUDT NO PARAMETER 108.42
Test_Speed2_Function_WithLocals 532.80
Test_Speed_Function_WithParams 388.54
Test_Speed2_Typed 136.23
Don
Here is the link to the speedtest by Abraxas that charts:
http://community.thinbasic.com/index.php?topic=1269.0
You will need to use this slightly modded script to test for the current benchmarks. This copies both dll's when needed.
Just place the new dll's in your speedtest folder, not the thinBasic folder. Mike's script copies, names and renames all the dll's for you.
Then run the RunMe.bat file.
It first runs and tests the original dll's in thinBasic. It then copied the new dll's while renaming the old dlls for you.
It runs the tests and then renames the dlls back to original and new ones. So you are where you were when started.
It then shows you the graph, which you can save.
Here are my results, I do see improvement on amd x2 4600 cpus.
Michael Hartlef
29-06-2008, 22:05
Hi folks,
thanks for the script link. Here are my results:
Mike, wow what cpu are you running on. Your times are twice as fast as mine, WOW!!!
Michael Hartlef
29-06-2008, 22:52
Nothing special, look in my signature.
ErosOlmi
29-06-2008, 23:23
More or less, speed improvements seem confirmed.
Thanks a lot to all.
Nothing special, look in my signature.
Oops, good thing I am not a detective, my observation skills are embarrassing.
Those intel cpus seem to demolish the amd's, Eros always does very well too on these tests and he is on intel also.
Michael Clease
01-07-2008, 12:38
My work PC and sorry Eros I was looking at the number wrong, I was thinking bigger was better ::)
Michael Clease
01-07-2008, 13:16
My laptop results
Michael Clease
01-07-2008, 14:26
Here are 3 other PCs at work
First chart is from a Fujitsu-siemens scenic p300 Celeron 2.60 Ghz, 1Gb, XP pro.
Second chart is from a Custom Build Celeron D 3.33 /3.35 Ghz, 512Mb, XP pro.
Last chart is from a IBM ThinkCentre Pentium 49(HT) 2.6Ghz, 768Mb, XP pro.
I post anymore I promise.
Petr Schreiber
01-07-2008, 15:27
Thanks Abraxas,
your custom Celeron performs really well!
I am just thinking about making some benchmarks "longer" - values around 100ms are too low to watch differences.
I had mad idea to customize all benchmarks to run 1000ms on determined PC, so from now we could watch the changes better.
Petr