Recommended CPU for timetabling

Started by Volker Dirr, November 06, 2010, 01:43:13 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Volker Dirr

Comment from 2023: This is the old benchmark. You can see the results of the new benchmark here:
https://lalescu.ro/liviu/fet/forum/index.php?topic=5729.0
------------------------------------------------------------------------------------------------


Old Message:
Most important is a fast (single core) CPU with a big cache size. Maybe you want to know if you should buy a new CPU. Maybe just do following small benchmark to get an idea about possible speedup.

Here are some results (of course lower time is better):

Time - CPU - Speed - compiled or precompiled - OS - metered by
0min 56s - Intel i5-9400F, 2.90 GHz, compiled on Ubuntu 19.04, cipman
0min 58s - AMD Ryzen 2700x, 3.7 GHz, compiled on openSUSE Tumbleweed, Liviu Lalescu
1min 28s - Intel Xeon E3 1230 v3, 3.7 GHz, precompiled, Windows 10, Rumtata
1min 28s - AMD Ryzen 2700x, 3.7 GHz, precompiled, Windows 10, Liviu Lalescu
1min 29s - Intel i3 6100, 3.7GHz, precompiled, Windows 10, Salatsauce45
1min 32s - Intel i5, 3.33 GHz, compiled on Linux, liquid
1min 34s - Intel i7 2700K, 3.50GHz, precompiled, Windows 7 64-Bit, Christian Kemmer
1min 34s - AMD Ryzen 1800x, 3.60GHz, precompiled, Windows 10, tobse2056
1min 34s - Intel Pentium G4560, 3.5 GHz, precompiled, Windows 10, Volker Dirr
1min 38s - Intel i7 2600K, 3.40 GHz, precompiled, Windows 7, Christian Kemmer
1min 40s - Intel i5 4460, 3.20 GHz, precompiled, Windows 10, Volker Dirr
1min 41s - AMD Ryzen 1600, 3.2 GHz,  precompiled, Windows 10, Liviu Lalescu
1min 50s - Intel i7 2670Qm, 2.2GHz, compiled on Ubuntu 11.10, Silver
1min 50s - Intel Xeon E5 1620v2, 3.7 Ghz, precompiled, Windows 7, DarkWing13
1min 53s - Intel i5 M 460, 2.5 GHz, compiled on Linux Debian 10, erick nimtz
1min 54s - Intel i5 3210m, 2.5 GHz, precompiled, Windows 7, Volker Dirr
1min 57s - Intel Celeron G1840, 2.80 GHz, precompiled, Windows 7 64bit, y
2min 01s - AMD Athlon II X2 270, 3.40 GHz, compiled on Ubuntu, Volker Dirr
2min 02s - AMD Phenom II X4 955, 3,6GHz, precompiled, Windows 10, Rumtata
2min 04s - Intel i5 2520M, 2.50 GHz, lalloso
2min 05s - Intel i7 2670Qm, 2.2GHz, precompiled, Windows 7, Silver
2min 07s - Intel Core i5 4200U, 1.60GHz, precompiled, Windows 8, Volker Dirr
2min 21s - Intel Core i5 M460, 2.53 GHz, precompiled, Windows 7, Volker Dirr
2min 23s - AMD Athlon II X2 250, 3.00 GHz, compiled on Ubuntu, Volker Dirr
2min 34s - AMD Athlon X3 450, 3.21GHz, precompiled, Windows XP, Christian Kemmer
2min 37s - AMD Athlon X2 260, 3.2 GHz, precompiled, Windows 7, Christian Kemmer
2min 47s - AMD Athlon X2 250, 3 GHz, precompiled, Windows 7, Christian Kemmer
2min 58s - Intel Xeon X3450, 2.67 GHz, precompiled, Windows Server 2008, Christian Kemmer
3min 21s - Intel i3 M330, 2.13 GHz, precompiled, Windows 7, Volker Dirr
3min 27s - Intel Duo T9400, 2.53 GHz, precompiled, Windows Vista, Volker Dirr
3min 52s - Intel Duo E6550, 2.33 GHz, precompiled, Windows XP, alfaromeo
3min 55s - Intel Duo E6600, 2.40 GHz, precompiled, Windows 7 32bit, y
3min 57s - AMD 4000+, 2.11 GHz, openSuse 11.4 64 bit, Liviu Lalescu
4min 05s - AMD Athlon X2 QL-65, 2.1 GHz, compiled on Linux, Zsolt Udvari
4min 15s - AMD Athlon 5350, 2.05 GHz, precompiled, Windows 7 32bit, y
4min 21s - Intel Celeron E1500, 2.20 GHz, precompiled, Windows Vista 32bit, y
4min 26s - Intel Duo T7300m, 2.0 GHz, precompiled, Windows Vista 32bit, y
4min 36s - Broadcom BCM2711, Raspberry Pi 4, ARM Cortex-A72, 1.5 GHz, Raspbian, Volker Dirr
4min 46s - AMD Athlon 64 x2 3800+, 2.01 GHz, precompiled, Windows XP, Volker Dirr
4min 51s - Intel Duo T5750, 2.00 GHz, precompiled, Windows XP, Volker Dirr
5min 50s - Intel Pentium E2140, 1.60 GHz, precompiled, Windows 7 32-bit, y
6min 28s - Pentium 4, 3.40 GHz, precompiled, Windows XP, Christian Kemmer
6min 57s - Intel Pentium 4 530, 3.00 GHz, precompiled, Windows XP 32bit, y
7min 12s - Intel Atom Z3735G (Tablet Dell Venue 8 Pro - battery only), 1.33GHz, precompiled, Windows 8, Rumtata
7min 45s - Broadcom BCM2837B Raspberry Pi 3+, ARM Cortex-A53, 1.4 GHz, Raspbian, Volker Dirr
9min 08s - Broadcom BCM2837 Raspberry Pi 3, ARM Cortex-A53, 1.2 GHz, Raspbian, Volker Dirr
17min 15s - Broadcom BCM2836 Raspberry Pi 2, ARM Cortex-A7, 0.9 GHz, Raspbian, Volker Dirr
1h 11min 25s - Broadcom BCM2835 Raspberry Pi, ARM1176JZF-S, 0.7 GHz, Raspbian, Volker Dirr


Best overclocker performance is:

Time - CPU - Speed - compiled or precompiled - OS - metered by
1min 05s - Intel i7 4770k, 4.8 GHz, precompiled, Windows 10, Addi


Notes:
- Time is always +/- a few seconds.
- The clock speed (GHz) is always the basic speed. Modern CPUs increase the clock speed. For example the clock speed of Intel 2670Qm increase from 2.2Ghz up to 3.1Ghz while running the fet benchmark.

Rules for this benchmark are following:
1. Download FET 5.14.3 (please USE FOR DAILY WORK ONLY NEWEST OFFICIAL FET version (currently 5.31.3). ONLY for this benchmark please use version 5.14.3, because only by this the results are not effected by other things.)
    (Get source from http://www.timetabling.de/download/old/fet-5.14.3.tar.bz2 (ONLY recommended for benchmark!).
      Get executable from http://www.timetabling.de/download/old/fet-5.14.3.exe (ONLY recommended for benchmark!).)
2. Open file:  examples -> Germany -> secondary-school-1 -> constraint-min-n-days-100-few-0 -> german-100_and_0.fet
3. Go to FET->Settings->Advanced->Seed of random number generator. Set both values (seed X and seed Y) to value 1.
4. Generate the table (FET->Timetable->Generate new). Do not run other CPU consuming programs in simulation time! Also turn off screen saver.
5. Remember needed time to solve the table.
6. Go to  FET->Settings->Advanced->Seed of random number generator. Check if seed X is 1272947622 and seed Y is 1955161776. Set them to value 1 again and repeat step 4 to 6 at least one time.
7. Let us know your results.

(Modification: I added results up to 04.12.2020. Later results are not added yet.)

Chafik Graiguer

#1
My test result:

3min 52s - Intel Core2 Duo E6550 (2.33 GHz - precompiled FET with Windows XP)


I think that the history (the graph)  of process solving is also important, so here is the history:
409 palced activities at  42s
573  palced activities at 1m46s
578  palced activities at 2m
581  palced activities at 3m10s
Edited to add: 589  palced activities at 3m52s

Liviu Lalescu

#2
No, the history of placed activities is not important, only check the final random seed X and Y to be the same (to ensure the same process on any machine). By the way, 598 in your previous post is wrong, should be 589.

Chafik Graiguer

Yes, final value is 589
I corrected it above
About, the history of placed activities
I am not sure! it was just a thought..  :) Because, if you launch two instances of FET with same file, you will notice that each one goes by different path, which make one find a solution faster than other...

Liviu Lalescu

QuoteYes, final value is 589
I corrected it above
About, the history of placed activities
I am not sure! it was just a thought..  :) Because, if you launch two instances of FET with same file, you will notice that each one goes by different path, which make one find a solution faster than other...

You are right, it is an additional check, but the probability that the final random seed X and Y coincides is very low for different behavior (approx. 1/2^62). This is the best check.

Also, it is difficult for other users to write down the progress.

Zsolt Udvari

4min 5s - AMD Athlon(tm) X2 Dual-Core QL-65 (2100 MHz, compiled and generated on Linux)

Christian Kemmer

2 m 58 s on Intel Xeon X3450 @2.67 GHz Windows Server 2008 64-Bit, precompiled Windows

6 m 28 s on Pentium(r) 4CPU 3.40 GHz Windows XP 32-Bit, precompiled Windows

2 m 47 s on AMD Athlon X2 250 GHz Windows 7 32-Bit, precompiled Windows

Best Regards,

Christian Kemmer

Christian Kemmer

2min 37sec on AMD Athlon X2 260, 3,2 GHz Windows 7, 64-Bit, precompiled Windows-version

liquid

1m32s on Intel i5 3.33 GHz - compiled and generated on Linux 64b

Liviu Lalescu

#9
Quote1m32s on Intel i5 3.33 GHz - compiled and generated on Linux 64b

Wow, nice computer :-)

Here is my openSuse 11.4 64 bit kernel 2.6.37 Qt 4.7.2 gcc/g++ 4.5.2 (I admit I did it only once, right now, with some other minor programs running, but probably the result is correct, as I have dual core).

Computer: AMD 4000+ 2.11 GHz dual core, don't know cache size, maybe 512 kb each core.

3 m 57 s.

Zsolt Udvari

QuoteComputer: AMD 4000+ 2.11 GHz dual core, don't know cache size, maybe 512 kb each core.
grep "cache size" /proc/cpuinfo

Liviu Lalescu

Thanks, Zsolt! Useful file, /proc/cpuinfo.

Yes, I have 512 kb cache on each core.

As a note for this thread, you can continue this thread also on future FET versions, as long as starting the same file with the same random seed finishes with the same random seed, respectively. Currently, 17 March 2011, the FET snapshot has the same exact generation procedure, so you can include it, and probably the next 5.14.4 version (to be released probably in a week or more).

Christian Kemmer

2min 34 sec on AMD Athlon X3 450, 3.21GHz, Windows XP, precompiled Windows-Version 5.14.4

Zsolt Udvari

Quote4min 5s - AMD Athlon(tm) X2 Dual-Core QL-65 (2100 MHz, compiled and generated on Linux)
4min 19s - same machine, v5.14.4, Linux.

Liviu Lalescu

Quote
Quote4min 5s - AMD Athlon(tm) X2 Dual-Core QL-65 (2100 MHz, compiled and generated on Linux)
4min 19s - same machine, v5.14.4, Linux.

Don't worry, I can explain:  :-)

1) FET internal generation algorithm was not changed, not even a bit (only a small assignment was made now an assert, like: a=b became assert(a==b), because these should be equal before this instruction).

2) Maybe your Qt on the GNU/Linux machine was updated, and maybe it is a bit slower. I think it is not the case, as on my computer it has the same speed, and the FET generation algorithm does not depend much on Qt and probably the responsible Qt code in this part was not changed. Also, the Qt team is optimizing.

3) Maybe you have other gcc/g++. I think not the case, as I also updated my gcc/g++ without noticing slowdowns, and also the gcc/g++ team is optimizing.

4) The probable cause: I noticed sometimes a slowdown for generations of the exact same compiled FET on my GNU/Linux computer. It depends on the other processes running, or other things. Try to restart, generate at another time, etc. (only if you want to convince yourself that FET was not slowed down in the 5.14.4 release compared to 5.14.3).