[Pharo-project] Squeak VM+FT2Plugin, all Pharo 1.0 rc3 tests green
Hi, Finally I've managed to build squeak vm rev. 2135 (current stable) with FT2Plugin which makes all tests green on Pharo 1.0 rc3 image........ on my machine :) If some Linux users can test it on their distro, thanks. The clean binary archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz The generated source archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz PharoCore-1.0 + configured VMMaker 1.2 image (for new vm builders, to have a known working base): http://lolgzs.free.fr/pharo/squeak-vm/PharoCore-1.0-VMMaker-1.2.tar.gz To build from source archive: ======================= wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure make sudo make install Internal plugins: ====================== UUIDPlugin External plugins: ====================== ADPCMCodecPlugin AioPlugin AsynchFilePlugin B2DPlugin B3DAcceleratorPlugin BMPReadWriterPlugin BitBltPlugin CroquetPlugin DSAPrims DropPlugin FFTPlugin FT2Plugin FileCopyPlugin FilePlugin FloatArrayPlugin FloatMathPlugin GeniePlugin HostWindowPlugin JPEGReadWriter2Plugin JPEGReaderPlugin JoystickTabletPlugin Klatt LargeIntegers LocalePlugin MIDIPlugin Matrix2x3Plugin MiscPrimitivePlugin Mpeg3Plugin QuicktimePlugin RePlugin SecurityPlugin SerialPlugin SocketPlugin SoundCodecPrims SoundGenerationPlugin SoundPlugin Squeak3D SqueakFFIPrims StarSqueakPlugin SurfacePlugin UnixOSProcessPlugin XDisplayControlPlugin ZipPlugin Fun story: if you don't have SecurityPlugin, LocaleTest>>testFontFullName deletes your image :) testFontFullName "self debug: #testFontFullName" | env dir | env := (Locale isoLanguage: 'ja') languageEnvironment. dir := FileDirectory on: SecurityManager default untrustedUserDirectory. [dir recursiveDelete] <-------------- Cool !! on: Error do: [:e | e]. env fontFullName. self assert: dir exists Cheers, Laurent Laffont
On Mar 26, 2010, at 22:11 , laurent laffont wrote: [...]
Fun story: if you don't have SecurityPlugin, LocaleTest>>testFontFullName deletes your image :)
WTF?! That's exactly what happened to me some time ago. I lost a lot of images that were stored in the same folder like the image. Let's get rid of this test. I created issue http://code.google.com/p/pharo/issues/detail?id=2215 Adrian
testFontFullName "self debug: #testFontFullName" | env dir | env := (Locale isoLanguage: 'ja') languageEnvironment. dir := FileDirectory on: SecurityManager default untrustedUserDirectory. [dir recursiveDelete] <-------------- Cool !! on: Error do: [:e | e]. env fontFullName. self assert: dir exists
Cheers,
Laurent Laffont _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
+1000 On Mar 27, 2010, at 10:19 AM, Adrian Lienhard wrote:
On Mar 26, 2010, at 22:11 , laurent laffont wrote:
[...]
Fun story: if you don't have SecurityPlugin, LocaleTest>>testFontFullName deletes your image :)
WTF?! That's exactly what happened to me some time ago. I lost a lot of images that were stored in the same folder like the image. Let's get rid of this test.
I created issue http://code.google.com/p/pharo/issues/detail?id=2215
Adrian
testFontFullName "self debug: #testFontFullName" | env dir | env := (Locale isoLanguage: 'ja') languageEnvironment. dir := FileDirectory on: SecurityManager default untrustedUserDirectory. [dir recursiveDelete] <-------------- Cool !! on: Error do: [:e | e]. env fontFullName. self assert: dir exists
Cheers,
Laurent Laffont _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hi Laurent. Excellent news! It's cool to see people playing with the VM. Depending in gurus of heroes is never good. Because they left and you are dead. A little question...do you think we should replace the official Linux VM from the Pharo website ? I would love that the official Linux VM has: - that thing about the gnufication I did that when compiling MacOS VM. Read this link (step 4 for example) http://www.squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Docu... does it make sense also in Linux VM ? which are the difference in the benchmarks compared to do it without this step ? - all tests green - FT2Plugin and the Bryce magic for nicer fonts - Include this VM in the Pharo 1.0 one click. Did you check the benchmarks with the VM from Pharo website and yours ? can you evaluate the results of "1 tinyBenchmarks" as it is explained if point 5 of Adrian post: http://www.adrian-lienhard.ch/blog?article=building-a-pharo-squeak-vm-from-f... It would be cool also to update the readme.txt of the Pharo Linux Vm if necessary And finally would be great to add a link to download the sources also. Thanks a lot. Mariano 2010/3/26 laurent laffont <laurent.laffont@gmail.com>
Hi,
Finally I've managed to build squeak vm rev. 2135 (current stable) with FT2Plugin which makes all tests green on Pharo 1.0 rc3 image........ on my machine :)
If some Linux users can test it on their distro, thanks.
The clean binary archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz
The generated source archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz
PharoCore-1.0 + configured VMMaker 1.2 image (for new vm builders, to have a known working base): http://lolgzs.free.fr/pharo/squeak-vm/PharoCore-1.0-VMMaker-1.2.tar.gz
To build from source archive: ======================= wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure make sudo make install
Internal plugins: ====================== UUIDPlugin
External plugins: ====================== ADPCMCodecPlugin AioPlugin AsynchFilePlugin B2DPlugin B3DAcceleratorPlugin BMPReadWriterPlugin BitBltPlugin CroquetPlugin DSAPrims DropPlugin FFTPlugin FT2Plugin FileCopyPlugin FilePlugin FloatArrayPlugin FloatMathPlugin GeniePlugin HostWindowPlugin JPEGReadWriter2Plugin JPEGReaderPlugin JoystickTabletPlugin Klatt LargeIntegers LocalePlugin MIDIPlugin Matrix2x3Plugin MiscPrimitivePlugin Mpeg3Plugin QuicktimePlugin RePlugin SecurityPlugin SerialPlugin SocketPlugin SoundCodecPrims SoundGenerationPlugin SoundPlugin Squeak3D SqueakFFIPrims StarSqueakPlugin SurfacePlugin UnixOSProcessPlugin XDisplayControlPlugin ZipPlugin
Fun story: if you don't have SecurityPlugin, LocaleTest>>testFontFullName deletes your image :) testFontFullName "self debug: #testFontFullName" | env dir | env := (Locale isoLanguage: 'ja') languageEnvironment. dir := FileDirectory on: SecurityManager default untrustedUserDirectory. [dir recursiveDelete] <-------------- Cool !! on: Error do: [:e | e]. env fontFullName. self assert: dir exists
Cheers,
Laurent Laffont
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Laurent, Since you have taken the time to get the vm build process going, please consider going one step further to get the Alien plugin built too. PLEASE... I would do it myself, but as that great 20th Century Philospher, Dirty Harry, put it "a man's got to know his limitations." There has been progress: I have now actually used Code::Blocks to build a .so to work around a linking problem. OTOH, that same library *might* have been at the center of yesterday's image meltdown :( I am determined to free my number crunching work from Windows. Given some of the custom hardware things I want to be able to continue doing, Macs are not really an answer or I would have made that jump years ago. Bill ________________________________ From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Mariano Martinez Peck Sent: Saturday, March 27, 2010 7:58 AM To: Pharo-project@lists.gforge.inria.fr Subject: Re: [Pharo-project] Squeak VM+FT2Plugin, all Pharo 1.0 rc3 tests green Hi Laurent. Excellent news! It's cool to see people playing with the VM. Depending in gurus of heroes is never good. Because they left and you are dead. A little question...do you think we should replace the official Linux VM from the Pharo website ? I would love that the official Linux VM has: - that thing about the gnufication I did that when compiling MacOS VM. Read this link (step 4 for example) http://www.squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Docu... does it make sense also in Linux VM ? which are the difference in the benchmarks compared to do it without this step ? - all tests green - FT2Plugin and the Bryce magic for nicer fonts - Include this VM in the Pharo 1.0 one click. Did you check the benchmarks with the VM from Pharo website and yours ? can you evaluate the results of "1 tinyBenchmarks" as it is explained if point 5 of Adrian post: http://www.adrian-lienhard.ch/blog?article=building-a-pharo-squeak-vm-from-f... It would be cool also to update the readme.txt of the Pharo Linux Vm if necessary And finally would be great to add a link to download the sources also. Thanks a lot. Mariano 2010/3/26 laurent laffont <laurent.laffont@gmail.com<mailto:laurent.laffont@gmail.com>> Hi, Finally I've managed to build squeak vm rev. 2135 (current stable) with FT2Plugin which makes all tests green on Pharo 1.0 rc3 image........ on my machine :) If some Linux users can test it on their distro, thanks. The clean binary archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz The generated source archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz PharoCore-1.0 + configured VMMaker 1.2 image (for new vm builders, to have a known working base): http://lolgzs.free.fr/pharo/squeak-vm/PharoCore-1.0-VMMaker-1.2.tar.gz To build from source archive: ======================= wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure make sudo make install Internal plugins: ====================== UUIDPlugin External plugins: ====================== ADPCMCodecPlugin AioPlugin AsynchFilePlugin B2DPlugin B3DAcceleratorPlugin BMPReadWriterPlugin BitBltPlugin CroquetPlugin DSAPrims DropPlugin FFTPlugin FT2Plugin FileCopyPlugin FilePlugin FloatArrayPlugin FloatMathPlugin GeniePlugin HostWindowPlugin JPEGReadWriter2Plugin JPEGReaderPlugin JoystickTabletPlugin Klatt LargeIntegers LocalePlugin MIDIPlugin Matrix2x3Plugin MiscPrimitivePlugin Mpeg3Plugin QuicktimePlugin RePlugin SecurityPlugin SerialPlugin SocketPlugin SoundCodecPrims SoundGenerationPlugin SoundPlugin Squeak3D SqueakFFIPrims StarSqueakPlugin SurfacePlugin UnixOSProcessPlugin XDisplayControlPlugin ZipPlugin Fun story: if you don't have SecurityPlugin, LocaleTest>>testFontFullName deletes your image :) testFontFullName "self debug: #testFontFullName" | env dir | env := (Locale isoLanguage: 'ja') languageEnvironment. dir := FileDirectory on: SecurityManager default untrustedUserDirectory. [dir recursiveDelete] <-------------- Cool !! on: Error do: [:e | e]. env fontFullName. self assert: dir exists Cheers, Laurent Laffont _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr<mailto:Pharo-project@lists.gforge.inria.fr> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Laurent,
Since you have taken the time to get the vm build process going, please consider going one step further to get the Alien plugin built too. PLEASE...
Now I can build it, but my VM crashes while running Alien tests :(. Nevertheless I want it (to play with Lumiere), so I will keep trying... Laurent Laffont
I would do it myself, but as that great 20th Century Philospher, Dirty Harry, put it "a man's got to know his limitations."
There has been progress: I have now actually used Code::Blocks to build a .so to work around a linking problem. OTOH, that same library *might* have been at the center of yesterday's image meltdown :( I am determined to free my number crunching work from Windows. Given some of the custom hardware things I want to be able to continue doing, Macs are not really an answer or I would have made that jump years ago.
Bill
------------------------------ *From:* pharo-project-bounces@lists.gforge.inria.fr [mailto: pharo-project-bounces@lists.gforge.inria.fr] *On Behalf Of *Mariano Martinez Peck *Sent:* Saturday, March 27, 2010 7:58 AM *To:* Pharo-project@lists.gforge.inria.fr *Subject:* Re: [Pharo-project] Squeak VM+FT2Plugin, all Pharo 1.0 rc3 tests green
Hi Laurent. Excellent news! It's cool to see people playing with the VM. Depending in gurus of heroes is never good. Because they left and you are dead.
A little question...do you think we should replace the official Linux VM from the Pharo website ?
I would love that the official Linux VM has:
- that thing about the gnufication I did that when compiling MacOS VM. Read this link (step 4 for example)
http://www.squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Docu...
does it make sense also in Linux VM ? which are the difference in the benchmarks compared to do it without this step ?
- all tests green - FT2Plugin and the Bryce magic for nicer fonts - Include this VM in the Pharo 1.0 one click.
Did you check the benchmarks with the VM from Pharo website and yours ? can you evaluate the results of "1 tinyBenchmarks" as it is explained if point 5 of Adrian post:
http://www.adrian-lienhard.ch/blog?article=building-a-pharo-squeak-vm-from-f...
It would be cool also to update the readme.txt of the Pharo Linux Vm if necessary
And finally would be great to add a link to download the sources also.
Thanks a lot.
Mariano
2010/3/26 laurent laffont <laurent.laffont@gmail.com>
Hi,
Finally I've managed to build squeak vm rev. 2135 (current stable) with FT2Plugin which makes all tests green on Pharo 1.0 rc3 image........ on my machine :)
If some Linux users can test it on their distro, thanks.
The clean binary archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz
The generated source archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz
PharoCore-1.0 + configured VMMaker 1.2 image (for new vm builders, to have a known working base): http://lolgzs.free.fr/pharo/squeak-vm/PharoCore-1.0-VMMaker-1.2.tar.gz
To build from source archive: ======================= wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure make sudo make install
Internal plugins: ====================== UUIDPlugin
External plugins: ====================== ADPCMCodecPlugin AioPlugin AsynchFilePlugin B2DPlugin B3DAcceleratorPlugin BMPReadWriterPlugin BitBltPlugin CroquetPlugin DSAPrims DropPlugin FFTPlugin FT2Plugin FileCopyPlugin FilePlugin FloatArrayPlugin FloatMathPlugin GeniePlugin HostWindowPlugin JPEGReadWriter2Plugin JPEGReaderPlugin JoystickTabletPlugin Klatt LargeIntegers LocalePlugin MIDIPlugin Matrix2x3Plugin MiscPrimitivePlugin Mpeg3Plugin QuicktimePlugin RePlugin SecurityPlugin SerialPlugin SocketPlugin SoundCodecPrims SoundGenerationPlugin SoundPlugin Squeak3D SqueakFFIPrims StarSqueakPlugin SurfacePlugin UnixOSProcessPlugin XDisplayControlPlugin ZipPlugin
Fun story: if you don't have SecurityPlugin, LocaleTest>>testFontFullName deletes your image :) testFontFullName "self debug: #testFontFullName" | env dir | env := (Locale isoLanguage: 'ja') languageEnvironment. dir := FileDirectory on: SecurityManager default untrustedUserDirectory. [dir recursiveDelete] <-------------- Cool !! on: Error do: [:e | e]. env fontFullName. self assert: dir exists
Cheers,
Laurent Laffont
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/3/27 Mariano Martinez Peck <marianopeck@gmail.com>
Hi Laurent. Excellent news! It's cool to see people playing with the VM. Depending in gurus of heroes is never good. Because they left and you are dead.
A little question...do you think we should replace the official Linux VM from the Pharo website ?
I think so :) (if other users report no problem - Thanks Alain): the binary form is cleaner than exupery-vm, we have the source, fonts are nice, all tests green, build is reproductible.
I would love that the official Linux VM has:
- that thing about the gnufication I did that when compiling MacOS VM. Read this link (step 4 for example)
http://www.squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Docu...
does it make sense also in Linux VM ? which are the difference in the benchmarks compared to do it without this step ?
Isn't it a MacOS issue only ?
- all tests green - FT2Plugin and the Bryce magic for nicer fonts
With Bryce's Bitlbt patch from Exupery VM some test fails.... and while some rendering are little better with Exupery, some aren't nice (hints for example).
- Include this VM in the Pharo 1.0 one click.
Did you check the benchmarks with the VM from Pharo website and yours ? can you evaluate the results of "1 tinyBenchmarks" as it is explained if point 5 of Adrian post:
http://www.adrian-lienhard.ch/blog?article=building-a-pharo-squeak-vm-from-f...
Benchmarks Distro: up to date ArchLinux 32bits $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz stepping : 6 cpu MHz : 1994.987 cache size : 4096 KB (White MacBook 2008) benchmark: 5 timesRepeat: [ Transcript show: 1 tinyBenchmarks; cr] my Squeak VM 3.11.3 -r 2135 + FT2Plugin. GCC version 4.4.3 ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec vanilla Squeak VM 3.11.3 -r 2135 ========================================== 198449612 bytecodes/sec; 7593723 sends/sec 197836166 bytecodes/sec; 7548493 sends/sec 203174603 bytecodes/sec; 7558497 sends/sec 198757763 bytecodes/sec; 7528563 sends/sec 200312989 bytecodes/sec; 7232576 sends/sec pharo-vm-0.15.2f-linux (exupery) ========================================== 369942196 bytecodes/sec; 9303240 sends/sec 375091575 bytecodes/sec; 9333693 sends/sec 375641966 bytecodes/sec; 9280531 sends/sec 376193975 bytecodes/sec; 9280531 sends/sec 376470588 bytecodes/sec; 9280531 sends/sec Exupery is better on benchmarks, but what is the activity on this VM? Laurent Laffont It would be cool also to update the readme.txt of the Pharo Linux Vm if
necessary
And finally would be great to add a link to download the sources also.
Thanks a lot.
Mariano
2010/3/26 laurent laffont <laurent.laffont@gmail.com>
Hi,
Finally I've managed to build squeak vm rev. 2135 (current stable) with FT2Plugin which makes all tests green on Pharo 1.0 rc3 image........ on my machine :)
If some Linux users can test it on their distro, thanks.
The clean binary archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz
The generated source archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz
PharoCore-1.0 + configured VMMaker 1.2 image (for new vm builders, to have a known working base): http://lolgzs.free.fr/pharo/squeak-vm/PharoCore-1.0-VMMaker-1.2.tar.gz
To build from source archive: ======================= wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure make sudo make install
Internal plugins: ====================== UUIDPlugin
External plugins: ====================== ADPCMCodecPlugin AioPlugin AsynchFilePlugin B2DPlugin B3DAcceleratorPlugin BMPReadWriterPlugin BitBltPlugin CroquetPlugin DSAPrims DropPlugin FFTPlugin FT2Plugin FileCopyPlugin FilePlugin FloatArrayPlugin FloatMathPlugin GeniePlugin HostWindowPlugin JPEGReadWriter2Plugin JPEGReaderPlugin JoystickTabletPlugin Klatt LargeIntegers LocalePlugin MIDIPlugin Matrix2x3Plugin MiscPrimitivePlugin Mpeg3Plugin QuicktimePlugin RePlugin SecurityPlugin SerialPlugin SocketPlugin SoundCodecPrims SoundGenerationPlugin SoundPlugin Squeak3D SqueakFFIPrims StarSqueakPlugin SurfacePlugin UnixOSProcessPlugin XDisplayControlPlugin ZipPlugin
Fun story: if you don't have SecurityPlugin, LocaleTest>>testFontFullName deletes your image :) testFontFullName "self debug: #testFontFullName" | env dir | env := (Locale isoLanguage: 'ja') languageEnvironment. dir := FileDirectory on: SecurityManager default untrustedUserDirectory. [dir recursiveDelete] <-------------- Cool !! on: Error do: [:e | e]. env fontFullName. self assert: dir exists
Cheers,
Laurent Laffont
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Mar 27, 2010, at 17:16 , laurent laffont wrote:
I would love that the official Linux VM has:
- that thing about the gnufication I did that when compiling MacOS VM. Read this link (step 4 for example)
http://www.squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Docu...
does it make sense also in Linux VM ? which are the difference in the benchmarks compared to do it without this step ?
Isn't it a MacOS issue only ?
No, this is relevant for all GNU C compilers! Without this step, which replaces the switch statement of the interpreter with a jump table, you get a *much* slower VM. I suggest to use the latest SVN source. Adrian
On Sat, Mar 27, 2010 at 6:13 PM, Adrian Lienhard <adi@netstyle.ch> wrote:
On Mar 27, 2010, at 17:16 , laurent laffont wrote:
I would love that the official Linux VM has:
- that thing about the gnufication I did that when compiling MacOS VM. Read this link (step 4 for example)
http://www.squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Docu...
does it make sense also in Linux VM ? which are the difference in the benchmarks compared to do it without this step ?
Isn't it a MacOS issue only ?
No, this is relevant for all GNU C compilers! Without this step, which replaces the switch statement of the interpreter with a jump table, you get a *much* slower VM. I suggest to use the latest SVN source.
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I have a little drop in benchmarks. However I'd rather put a stable release for Pharo 1.0 than latest trunk. What do you think ? Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Mar 27, 2010, at 18:21 , laurent laffont wrote:
On Sat, Mar 27, 2010 at 6:13 PM, Adrian Lienhard <adi@netstyle.ch> wrote:
On Mar 27, 2010, at 17:16 , laurent laffont wrote:
I would love that the official Linux VM has:
- that thing about the gnufication I did that when compiling MacOS VM. Read this link (step 4 for example)
http://www.squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Docu...
does it make sense also in Linux VM ? which are the difference in the benchmarks compared to do it without this step ?
Isn't it a MacOS issue only ?
No, this is relevant for all GNU C compilers! Without this step, which replaces the switch statement of the interpreter with a jump table, you get a *much* slower VM. I suggest to use the latest SVN source.
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I have a little drop in benchmarks. However I'd rather put a stable release for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c. Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I have a little drop in benchmarks. However I'd rather put a stable release for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look. Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
If your VM crashes while testing alien, I probably is the same problem I had while testing it. The last 3 messages of the following thread may have the solution: http://n4.nabble.com/Trying-to-build-alien-plugin-in-linux-td1562896i20.html Changing the define solved the problem. Maybe the #if _APPLE_ ... should be changed to something according which handles linux too, or maybe -fno-omit-frame-pointer to makefile.ink should be added as eliot said (I don't know which makefile.ink and didn't have many time to investigate). Regards, Javier. 2010/3/27 laurent laffont <laurent.laffont@gmail.com>
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I
have a little drop in benchmarks. However I'd rather put a stable release for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Javier Pimás Ciudad de Buenos Aires
I've tried gnuification on rev 2151. cmake/configure OK. But while building: /home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 ) Laurent Laffont On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I
have a little drop in benchmarks. However I'd rather put a stable release for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Adrian already reported such problem. Look squeak vm mailing list thread with subject "Gnuification fails when compiling unix VM with latest VMMaker source" cheers mariano 2010/3/27 laurent laffont <laurent.laffont@gmail.com>
I've tried gnuification on rev 2151. cmake/configure OK. But while building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont < laurent.laffont@gmail.com> wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I
have a little drop in benchmarks. However I'd rather put a stable release for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed. Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I
have a little drop in benchmarks. However I'd rather put a stable release for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
OK, I've tried the Smalltalk one... With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory. Benchmark gives me: Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec compared to Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits. Laurent Laffont On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while
building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest rev.
I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ? weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while
building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest rev.
I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
More benchmarks. Updated procedure with gcc optimizations activated: wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec Laurent Laffont 2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while
building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest
rev. I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Your optimization flags are probably ignored by cmake: see this thread http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003736.html You could also give these flags a try on x86 cpus: -O3 -fomit-frame-pointer -mfpmath=sse -march=native Levente On Sun, 28 Mar 2010, laurent laffont wrote:
More benchmarks.
Updated procedure with gcc optimizations activated: wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec
Laurent Laffont
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while
building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest
rev. I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Forgot to add -s. Also with gcc 4.3 adding -mtune=generic gives better results on core2. Levente On Sun, 28 Mar 2010, Levente Uzonyi wrote:
Your optimization flags are probably ignored by cmake: see this thread http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003736.html
You could also give these flags a try on x86 cpus: -O3 -fomit-frame-pointer -mfpmath=sse -march=native
Levente
On Sun, 28 Mar 2010, laurent laffont wrote:
More benchmarks.
Updated procedure with gcc optimizations activated: wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec
Laurent Laffont
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while
building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest
rev. I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Thanks for the link. When I clean my build directory and run configure with only one option (CFLAGS="-02") then it's OK. With several CFLAGS options it's strange, and now I understand why http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003740.html I'm starting to think that git can be better for squeak-vm than svn, so we can propose branches with patches included.... Thanks Laurent Laffont On Sun, Mar 28, 2010 at 5:50 PM, Levente Uzonyi <leves@elte.hu> wrote:
Your optimization flags are probably ignored by cmake: see this thread http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003736.html
You could also give these flags a try on x86 cpus: -O3 -fomit-frame-pointer -mfpmath=sse -march=native
Levente
On Sun, 28 Mar 2010, laurent laffont wrote:
More benchmarks.
Updated procedure with gcc optimizations activated: wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec
Laurent Laffont
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while
building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest
rev.
I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers,
Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Sun, 28 Mar 2010, laurent laffont wrote:
Thanks for the link. When I clean my build directory and run configure with only one option (CFLAGS="-02") then it's OK.
With several CFLAGS options it's strange, and now I understand why http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003740.html
There's a full fix here: http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003742.html
I'm starting to think that git can be better for squeak-vm than svn, so we can propose branches with patches included....
Probably yes. Levente
Thanks
Laurent Laffont
On Sun, Mar 28, 2010 at 5:50 PM, Levente Uzonyi <leves@elte.hu> wrote:
Your optimization flags are probably ignored by cmake: see this thread http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003736.html
You could also give these flags a try on x86 cpus: -O3 -fomit-frame-pointer -mfpmath=sse -march=native
Levente
On Sun, 28 Mar 2010, laurent laffont wrote:
More benchmarks.
Updated procedure with gcc optimizations activated: wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec
Laurent Laffont
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while
building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest
rev.
I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers,
Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Thank you ! Here the result: Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec so the best performance I have so far. Laurent Laffont On Sun, Mar 28, 2010 at 6:10 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sun, 28 Mar 2010, laurent laffont wrote:
Thanks for the link. When I clean my build directory and run configure
with only one option (CFLAGS="-02") then it's OK.
With several CFLAGS options it's strange, and now I understand why
http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003740.html
There's a full fix here: http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003742.html
I'm starting to think that git can be better for squeak-vm than svn, so we can propose branches with patches included....
Probably yes.
Levente
Thanks
Laurent Laffont
On Sun, Mar 28, 2010 at 5:50 PM, Levente Uzonyi <leves@elte.hu> wrote:
Your optimization flags are probably ignored by cmake: see this thread
http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003736.html
You could also give these flags a try on x86 cpus: -O3 -fomit-frame-pointer -mfpmath=sse -march=native
Levente
On Sun, 28 Mar 2010, laurent laffont wrote:
More benchmarks.
Updated procedure with gcc optimizations activated: wget
http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec
Laurent Laffont
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while
building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try?
There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest
rev.
I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c
file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers,
Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
I've updated the source archive with Levente's patch which fixes multiple CFLAGS options. http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz Laurent Laffont On Sun, Mar 28, 2010 at 7:42 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
On Sun, Mar 28, 2010 at 6:10 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sun, 28 Mar 2010, laurent laffont wrote:
Thanks for the link. When I clean my build directory and run configure
with only one option (CFLAGS="-02") then it's OK.
With several CFLAGS options it's strange, and now I understand why
http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003740.html
There's a full fix here: http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003742.html
I'm starting to think that git can be better for squeak-vm than svn, so we can propose branches with patches included....
Probably yes.
Levente
Thanks
Laurent Laffont
On Sun, Mar 28, 2010 at 5:50 PM, Levente Uzonyi <leves@elte.hu> wrote:
Your optimization flags are probably ignored by cmake: see this thread
http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003736.html
You could also give these flags a try on x86 cpus: -O3 -fomit-frame-pointer -mfpmath=sse -march=native
Levente
On Sun, 28 Mar 2010, laurent laffont wrote:
More benchmarks.
Updated procedure with gcc optimizations activated: wget
http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec
Laurent Laffont
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while
building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try?
There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest
rev.
I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the
interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers,
Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
thanks! Indeed may be this is time to start a git for the VMs source code :) Stef On Mar 28, 2010, at 9:41 PM, laurent laffont wrote:
I've updated the source archive with Levente's patch which fixes multiple CFLAGS options.
http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz
Laurent Laffont
On Sun, Mar 28, 2010 at 7:42 PM, laurent laffont <laurent.laffont@gmail.com> wrote: Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
On Sun, Mar 28, 2010 at 6:10 PM, Levente Uzonyi <leves@elte.hu> wrote: On Sun, 28 Mar 2010, laurent laffont wrote:
Thanks for the link. When I clean my build directory and run configure with only one option (CFLAGS="-02") then it's OK.
With several CFLAGS options it's strange, and now I understand why http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003740.html
There's a full fix here: http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003742.html
I'm starting to think that git can be better for squeak-vm than svn, so we can propose branches with patches included....
Probably yes.
Levente
Thanks
Laurent Laffont
On Sun, Mar 28, 2010 at 5:50 PM, Levente Uzonyi <leves@elte.hu> wrote:
Your optimization flags are probably ignored by cmake: see this thread http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003736.html
You could also give these flags a try on x86 cpus: -O3 -fomit-frame-pointer -mfpmath=sse -march=native
Levente
On Sun, 28 Mar 2010, laurent laffont wrote:
More benchmarks.
Updated procedure with gcc optimizations activated: wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec
Laurent Laffont
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while
building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest
rev. I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
So what Ghz is this machine? On 2010-03-28, at 10:42 AM, laurent laffont wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
So what Ghz is this machine?
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz cpu MHz : 1994.987 cache size : 4096 KB Laurent Laffont
On 2010-03-28, at 10:42 AM, laurent laffont wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Mon, 29 Mar 2010, laurent laffont wrote:
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
So what Ghz is this machine?
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz cpu MHz : 1994.987 cache size : 4096 KB
There must be something wrong. My T8300 notebook had about 550M bytecodes/sec and 15M sends/sec on linux. With the stock windows vm I have 500M bytecodes/sec and 14.5M sends/sec. Levente
Laurent Laffont
On 2010-03-28, at 10:42 AM, laurent laffont wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Mon, Mar 29, 2010 at 1:19 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, laurent laffont wrote:
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
So what Ghz is this machine?
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz cpu MHz : 1994.987 cache size : 4096 KB
There must be something wrong. My T8300 notebook had about 550M bytecodes/sec and 15M sends/sec on linux. With the stock windows vm I have 500M bytecodes/sec and 14.5M sends/sec.
With the source I have provided ? 32bits ? Laurent Laffont
Levente
Laurent Laffont
On 2010-03-28, at 10:42 AM, laurent laffont wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
--
=========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Mon, 29 Mar 2010, laurent laffont wrote:
On Mon, Mar 29, 2010 at 1:19 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, laurent laffont wrote:
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
So what Ghz is this machine?
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz cpu MHz : 1994.987 cache size : 4096 KB
There must be something wrong. My T8300 notebook had about 550M bytecodes/sec and 15M sends/sec on linux. With the stock windows vm I have 500M bytecodes/sec and 14.5M sends/sec.
With the source I have provided ? 32bits ?
My linux vm was 32-bit with some older sources. Since I don't have linux on my notebook anymore I can't tell which version it was. Levente
Laurent Laffont
Levente
Laurent Laffont
On 2010-03-28, at 10:42 AM, laurent laffont wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
--
=========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Mon, Mar 29, 2010 at 2:09 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, laurent laffont wrote:
On Mon, Mar 29, 2010 at 1:19 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, laurent laffont wrote:
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
So what Ghz is this machine?
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz
cpu MHz : 1994.987 cache size : 4096 KB
There must be something wrong. My T8300 notebook had about 550M bytecodes/sec and 15M sends/sec on linux. With the stock windows vm I have 500M bytecodes/sec and 14.5M sends/sec.
With the source I have provided ? 32bits ?
My linux vm was 32-bit with some older sources. Since I don't have linux on my notebook anymore I can't tell which version it was.
On MacOSX, same laptop, with Squeak VM 4.2.2 beta 1U from pharo website 449122807 bytecodes/sec; 9649554 sends/sec 405384006 bytecodes/sec; 9584683 sends/sec 445604873 bytecodes/sec; 10138464 sends/sec 445993031 bytecodes/sec; 10102544 sends/sec 446381865 bytecodes/sec; 10174641 sends/sec compared to Linux Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec so it seems there's improvements that can be done on Linux VM, but there's not so much difference. Laurent Laffont
Levente
Laurent Laffont
Levente
Laurent Laffont
On 2010-03-28, at 10:42 AM, laurent laffont wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
--
=========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/3/29 laurent laffont <laurent.laffont@gmail.com>
On Mon, Mar 29, 2010 at 2:09 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, laurent laffont wrote:
On Mon, Mar 29, 2010 at 1:19 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, laurent laffont wrote:
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
So what Ghz is this machine?
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz
cpu MHz : 1994.987 cache size : 4096 KB
There must be something wrong. My T8300 notebook had about 550M bytecodes/sec and 15M sends/sec on linux. With the stock windows vm I have 500M bytecodes/sec and 14.5M sends/sec.
With the source I have provided ? 32bits ?
My linux vm was 32-bit with some older sources. Since I don't have linux on my notebook anymore I can't tell which version it was.
On MacOSX, same laptop, with Squeak VM 4.2.2 beta 1U from pharo website
449122807 bytecodes/sec; 9649554 sends/sec 405384006 bytecodes/sec; 9584683 sends/sec 445604873 bytecodes/sec; 10138464 sends/sec 445993031 bytecodes/sec; 10102544 sends/sec 446381865 bytecodes/sec; 10174641 sends/sec
compared to Linux
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so it seems there's improvements that can be done on Linux VM, but there's not so much difference.
I think everybody know this and that your results is the expected. I even remember some threads were we discussed the same. For example, I found this one: http://n4.nabble.com/Pharo-apparently-slow-on-linux-td1304643.html#a1304643 but there are more. The MacOS VM is faster than the rest, even with the same PC. I have no idea how to improve Linux's one, thus. Cheers Mariano
Laurent Laffont
Levente
Laurent Laffont
Levente
Laurent Laffont
On 2010-03-28, at 10:42 AM, laurent laffont wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
--
=========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Actually one *can* make the linux VM faster than the MacOS one on the same hardware using just the right version of GCC. But frankly the *easiest* way of doing that is for Pharo to fund the yearly license for using the Intel Compiler and provide a one-click Intel compiler based VM. On 2010-03-29, at 11:33 AM, Mariano Martinez Peck wrote:
http://n4.nabble.com/Pharo-apparently-slow-on-linux-td1304643.html#a1304643
but there are more. The MacOS VM is faster than the rest, even with the same PC. I have no idea how to improve Linux's one, thus.
Cheers
Mariano
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
Actually one *can* make the linux VM faster than the MacOS one on the same hardware using just the right version of GCC.
Which GCC do you use ? Mine is 4.4.3 Laurent Laffont
But frankly the *easiest* way of doing that is for Pharo to fund the yearly license for using the Intel Compiler and provide a one-click Intel compiler based VM.
On 2010-03-29, at 11:33 AM, Mariano Martinez Peck wrote:
http://n4.nabble.com/Pharo-apparently-slow-on-linux-td1304643.html#a1304643
but there are more. The MacOS VM is faster than the rest, even with the same PC. I have no idea how to improve Linux's one, thus.
Cheers
Mariano
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On 2010-03-29, at 1:30 PM, laurent laffont wrote:
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com> Actually one *can* make the linux VM faster than the MacOS one on the same hardware using just the right version of GCC.
Which GCC do you use ? Mine is 4.4.3
Laurent Laffont
Those numbers come from 4.4.1, I can't speak for what 4.4.3 might/could/would do to affect performance good/bad. -- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
On Mon, 29 Mar 2010, John M McIntosh wrote:
Actually one *can* make the linux VM faster than the MacOS one on the same hardware using just the right version of GCC.
But frankly the *easiest* way of doing that is for Pharo to fund the yearly license for using the Intel Compiler and provide a one-click Intel compiler based VM.
For Intel CPUs that's a good solution, but those binaries would be really slow on AMD and VIA CPUs. Levente
On 2010-03-29, at 11:33 AM, Mariano Martinez Peck wrote:
http://n4.nabble.com/Pharo-apparently-slow-on-linux-td1304643.html#a1304643
but there are more. The MacOS VM is faster than the rest, even with the same PC. I have no idea how to improve Linux's one, thus.
Cheers
Mariano
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
On 2010-03-29, at 2:11 PM, Levente Uzonyi wrote:
On Mon, 29 Mar 2010, John M McIntosh wrote:
Actually one *can* make the linux VM faster than the MacOS one on the same hardware using just the right version of GCC.
But frankly the *easiest* way of doing that is for Pharo to fund the yearly license for using the Intel Compiler and provide a one-click Intel compiler based VM.
For Intel CPUs that's a good solution, but those binaries would be really slow on AMD and VIA CPUs.
Levente
Maybe, assuming someone runs some numbers, and/or you think that intel purposely trashes performance on those machines if you use their compilers? Also is the linux crowd 100% AMD/VIA? If it's only 20% as per the Intel CPU market share, then maybe the 80% of linux intel CPU based users would enjoy better performance versus a muddled offering in order to keep in line with the slowest 20% of the user base? -- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
On Mon, 29 Mar 2010, John M McIntosh wrote:
On 2010-03-29, at 2:11 PM, Levente Uzonyi wrote:
On Mon, 29 Mar 2010, John M McIntosh wrote:
Actually one *can* make the linux VM faster than the MacOS one on the same hardware using just the right version of GCC.
But frankly the *easiest* way of doing that is for Pharo to fund the yearly license for using the Intel Compiler and provide a one-click Intel compiler based VM.
For Intel CPUs that's a good solution, but those binaries would be really slow on AMD and VIA CPUs.
Levente
Maybe, assuming someone runs some numbers, and/or you think that intel purposely trashes performance on those machines if you use their compilers?
http://www.agner.org/optimize/blog/read.php?i=49
Also is the linux crowd 100% AMD/VIA? If it's only 20% as per the Intel CPU market share, then maybe the 80% of linux
Definitely not.
intel CPU based users would enjoy better performance versus a muddled offering in order to keep in line with the slowest 20% of the user base?
I'm not against the use of icc, but it's not a silver bullet. The question is: how much better performance can be achieved with it? Having 2% better performance for 80% of the users, while -50% performance for the rest doesn't worth it IMHO. Levente
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
On Mar 30, 2010, at 01:09 , Levente Uzonyi wrote:
On Mon, 29 Mar 2010, John M McIntosh wrote:
On 2010-03-29, at 2:11 PM, Levente Uzonyi wrote:
On Mon, 29 Mar 2010, John M McIntosh wrote:
Actually one *can* make the linux VM faster than the MacOS one on the same hardware using just the right version of GCC.
But frankly the *easiest* way of doing that is for Pharo to fund the yearly license for using the Intel Compiler and provide a one-click Intel compiler based VM.
For Intel CPUs that's a good solution, but those binaries would be really slow on AMD and VIA CPUs.
Levente
Maybe, assuming someone runs some numbers, and/or you think that intel purposely trashes performance on those machines if you use their compilers?
http://www.agner.org/optimize/blog/read.php?i=49
Also is the linux crowd 100% AMD/VIA? If it's only 20% as per the Intel CPU market share, then maybe the 80% of linux
Definitely not.
intel CPU based users would enjoy better performance versus a muddled offering in order to keep in line with the slowest 20% of the user base?
I'm not against the use of icc, but it's not a silver bullet. The question is: how much better performance can be achieved with it? Having 2% better performance for 80% of the users, while -50% performance for the rest doesn't worth it IMHO.
What's the yearly costs for the Intel Compiler license? Adrian
On 2010-03-29, at 11:39 PM, Adrian Lienhard wrote:
What's the yearly costs for the Intel Compiler license?
Adrian
non-academic it's $599 & then $240 academic license is $160 -- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
Two points - how can we join forces to get the largest range of VM and the process to build Concentration of knowledge in small open-source movement is dangerous. - We will buy an academic license of the compiler. I ordered it today. Stef On Mar 30, 2010, at 9:02 AM, John M McIntosh wrote:
On 2010-03-29, at 11:39 PM, Adrian Lienhard wrote:
What's the yearly costs for the Intel Compiler license?
Adrian
non-academic it's $599 & then $240
academic license is $160
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
What's the yearly costs for the Intel Compiler license?
Adrian _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
According to the website, 600$ for a single-user license on a single platform, 240$ for yearly support renewal. Other licensing options you have to contact them for pricing. Cheers, Henry
The problem with this option is we can't package it on Linux distros ... as open source software, I prefer that the VM downloadable on pharo website is a GCC (or other OSS compiler) compiled one. Laurent Laffont 2010/3/30 Henrik Johansen <henrik.s.johansen@veloxit.no>
What's the yearly costs for the Intel Compiler license?
Adrian _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
According to the website, 600$ for a single-user license on a single platform, 240$ for yearly support renewal. Other licensing options you have to contact them for pricing.
Cheers, Henry
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
I don't understand why we couldn't add a non-GCC compiled VM on the website. The VM will still be compilable with GCC, e.g., for Linux distros. Heck, we could even add both a GCC and a non-GCC compiled VM on the website and everybody can decide which one to use. Cheers, Adrian On Mar 30, 2010, at 09:34 , laurent laffont wrote:
The problem with this option is we can't package it on Linux distros ... as open source software, I prefer that the VM downloadable on pharo website is a GCC (or other OSS compiler) compiled one.
Laurent Laffont
2010/3/30 Henrik Johansen <henrik.s.johansen@veloxit.no>
What's the yearly costs for the Intel Compiler license?
Adrian _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
According to the website, 600$ for a single-user license on a single platform, 240$ for yearly support renewal. Other licensing options you have to contact them for pricing.
Cheers, Henry
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Tue, Mar 30, 2010 at 3:08 PM, Adrian Lienhard <adi@netstyle.ch> wrote:
I don't understand why we couldn't add a non-GCC compiled VM on the website. The VM will still be compilable with GCC, e.g., for Linux distros. Heck, we could even add both a GCC and a non-GCC compiled VM on the website and everybody can decide which one to use.
Yes you could put both on the web site, but all the Linux distro will use GCC to recompile. -- Serge Stinckwich UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam Every DSL ends up being Smalltalk http://doesnotunderstand.org/
On 3/30/2010 1:08 AM, Adrian Lienhard wrote:
I don't understand why we couldn't add a non-GCC compiled VM on the website. The VM will still be compilable with GCC, e.g., for Linux distros. Heck, we could even add both a GCC and a non-GCC compiled VM on the website and everybody can decide which one to use.
Here is a free bit of advice: Run some actual application benchmarks first. Doubling an artificial micro benchmark may have no impact whatsoever on application performance. For our uses, we found that the Intel compiler on Macs gave us 10% in app performance which is not bad at all for just switching the compiler but the microbenchmarks were actually worse than those of a GNUified interpreter compiled with gcc. YMMV. Measure it before committing to it. Cheers, - Andreas
On Mar 30, 2010, at 09:34 , laurent laffont wrote:
The problem with this option is we can't package it on Linux distros ... as open source software, I prefer that the VM downloadable on pharo website is a GCC (or other OSS compiler) compiled one.
Laurent Laffont
2010/3/30 Henrik Johansen<henrik.s.johansen-HH7AfKdThi1uMpJDpNschA@public.gmane.org>
What's the yearly costs for the Intel Compiler license?
Adrian _______________________________________________ Pharo-project mailing list Pharo-project-bM+ny+RY8h+a+bCvCPl5/gCzwTLBPCX0@public.gmane.org http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
According to the website, 600$ for a single-user license on a single platform, 240$ for yearly support renewal. Other licensing options you have to contact them for pricing.
Cheers, Henry
_______________________________________________ Pharo-project mailing list Pharo-project-bM+ny+RY8h+a+bCvCPl5/gCzwTLBPCX0@public.gmane.org http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project-bM+ny+RY8h+a+bCvCPl5/gCzwTLBPCX0@public.gmane.org http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Mar 30, 2010, at 9:34 AM, laurent laffont wrote:
The problem with this option is we can't package it on Linux distros ... as open source software, I prefer that the VM downloadable on pharo website is a GCC (or other OSS compiler) compiled one.
Why? to run on linux you have to be compiled with GCC? Or it is again a license problem?
On Wed, Mar 31, 2010 at 1:23 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
On Mar 30, 2010, at 9:34 AM, laurent laffont wrote:
The problem with this option is we can't package it on Linux distros ... as open source software, I prefer that the VM downloadable on pharo website is a GCC (or other OSS compiler) compiled one.
Why? to run on linux you have to be compiled with GCC? Or it is again a license problem?
A version compiled with the Intel C compiler could be available on the Pharo website, but linux distro will never use it. They will prefer to recompile from scratch with gcc. What kind of boost performance is expected with the Intel compiler ? -- Serge Stinckwich UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam Every DSL ends up being Smalltalk http://doesnotunderstand.org/
So how do the Linux binary only distros work then? I'm sure I've seen the choice, oh load the binaries, or pull and compile the source as choices in Ubuntu? Why bother making one-click apps with Linux VM if everyone ignores them? Or is this an 80/20 rule? On 2010-03-31, at 12:05 AM, Serge Stinckwich wrote:
A version compiled with the Intel C compiler could be available on the Pharo website, but linux distro will never use it. They will prefer to recompile from scratch with gcc. What kind of boost performance is expected with the Intel compiler ?
-- Serge Stinckwich UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam Every DSL ends up being Smalltalk http://doesnotunderstand.org/
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
2010/3/31 John M McIntosh <johnmci@smalltalkconsulting.com>:
So how do the Linux binary only distros work then? I'm sure I've seen the choice, oh load the binaries, or pull and compile the source as choices in Ubuntu? Why bother making one-click apps with Linux VM if everyone ignores them? Or is this an 80/20 rule?
I guess, most of the users didn't recompile their applications, they just use the binary packages from their favorite distributions. One-click apps are nice in order to distribute Pharo before linux distro add it in their distributions. Usually it takes some time and i guess they will include the 1.0 version when Pharo 1.1 will be out ;-) -- Serge Stinckwich UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam Every DSL ends up being Smalltalk http://doesnotunderstand.org/
Good Linux packaging systems as in Debian/Ubuntu/Gentoo/Arch propose to install pre-built binary for your architecture (faster) or build in from source on your machine (slower, but optimized). Nevertheless, both solutions uses the GCC supplied with your distro. If you want to compile with ICC, up to you to do it from scratch. On Linux the preferred way is to use packages. So IMHO the best solution is to have: - a source archive on Pharo website - prebuilt .deb / .rpm / ... for major distros, included in official repositories So people who wants to install pharo on Linux just have to uses their package manager. Ex on Debian apt-get install pharo or use the GUI front-end provided by their distro. The first step is to be able to build the VM in a repeatable way with GCC on Linux (this is why I currently work on building the VM. It seems that there's still things I don't understand, especially on performance side). Then write (or re-use existing) scripts to build packages for each major distro. Laurent Laffont 2010/3/31 John M McIntosh <johnmci@smalltalkconsulting.com>
So how do the Linux binary only distros work then? I'm sure I've seen the choice, oh load the binaries, or pull and compile the source as choices in Ubuntu? Why bother making one-click apps with Linux VM if everyone ignores them? Or is this an 80/20 rule?
On 2010-03-31, at 12:05 AM, Serge Stinckwich wrote:
A version compiled with the Intel C compiler could be available on the Pharo website, but linux distro will never use it. They will prefer to recompile from scratch with gcc. What kind of boost performance is expected with the Intel compiler ?
-- Serge Stinckwich UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam Every DSL ends up being Smalltalk http://doesnotunderstand.org/
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Yes what you are doing is important!!!! Stef On Mar 31, 2010, at 9:44 AM, laurent laffont wrote:
Good Linux packaging systems as in Debian/Ubuntu/Gentoo/Arch propose to install pre-built binary for your architecture (faster) or build in from source on your machine (slower, but optimized). Nevertheless, both solutions uses the GCC supplied with your distro.
If you want to compile with ICC, up to you to do it from scratch.
On Linux the preferred way is to use packages. So IMHO the best solution is to have: - a source archive on Pharo website - prebuilt .deb / .rpm / ... for major distros, included in official repositories
So people who wants to install pharo on Linux just have to uses their package manager. Ex on Debian apt-get install pharo
or use the GUI front-end provided by their distro.
The first step is to be able to build the VM in a repeatable way with GCC on Linux (this is why I currently work on building the VM. It seems that there's still things I don't understand, especially on performance side).
Then write (or re-use existing) scripts to build packages for each major distro.
Laurent Laffont
2010/3/31 John M McIntosh <johnmci@smalltalkconsulting.com> So how do the Linux binary only distros work then? I'm sure I've seen the choice, oh load the binaries, or pull and compile the source as choices in Ubuntu? Why bother making one-click apps with Linux VM if everyone ignores them? Or is this an 80/20 rule?
On 2010-03-31, at 12:05 AM, Serge Stinckwich wrote:
A version compiled with the Intel C compiler could be available on the Pharo website, but linux distro will never use it. They will prefer to recompile from scratch with gcc. What kind of boost performance is expected with the Intel compiler ?
-- Serge Stinckwich UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam Every DSL ends up being Smalltalk http://doesnotunderstand.org/
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Mon, 29 Mar 2010, Mariano Martinez Peck wrote:
2010/3/29 laurent laffont <laurent.laffont@gmail.com>
On Mon, Mar 29, 2010 at 2:09 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, laurent laffont wrote:
On Mon, Mar 29, 2010 at 1:19 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, laurent laffont wrote:
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
So what Ghz is this machine?
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz
cpu MHz : 1994.987 cache size : 4096 KB
There must be something wrong. My T8300 notebook had about 550M bytecodes/sec and 15M sends/sec on linux. With the stock windows vm I have 500M bytecodes/sec and 14.5M sends/sec.
With the source I have provided ? 32bits ?
My linux vm was 32-bit with some older sources. Since I don't have linux on my notebook anymore I can't tell which version it was.
On MacOSX, same laptop, with Squeak VM 4.2.2 beta 1U from pharo website
449122807 bytecodes/sec; 9649554 sends/sec 405384006 bytecodes/sec; 9584683 sends/sec 445604873 bytecodes/sec; 10138464 sends/sec 445993031 bytecodes/sec; 10102544 sends/sec 446381865 bytecodes/sec; 10174641 sends/sec
compared to Linux
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so it seems there's improvements that can be done on Linux VM, but there's not so much difference.
I think everybody know this and that your results is the expected. I even remember some threads were we discussed the same. For example, I found this one:
http://n4.nabble.com/Pharo-apparently-slow-on-linux-td1304643.html#a1304643
but there are more. The MacOS VM is faster than the rest, even with the same PC.
You know that's simply bullshit, do you? Levente
I have no idea how to improve Linux's one, thus.
Cheers
Mariano
Laurent Laffont
Levente
Laurent Laffont
Levente
Laurent Laffont
On 2010-03-28, at 10:42 AM, laurent laffont wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
--
=========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Mon, Mar 29, 2010 at 6:03 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, Mariano Martinez Peck wrote:
2010/3/29 laurent laffont <laurent.laffont@gmail.com>
On Mon, Mar 29, 2010 at 2:09 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, laurent laffont wrote:
On Mon, Mar 29, 2010 at 1:19 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, laurent laffont wrote:
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
So what Ghz is this machine?
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz
cpu MHz : 1994.987 cache size : 4096 KB
There must be something wrong. My T8300 notebook had about 550M bytecodes/sec and 15M sends/sec on linux. With the stock windows vm I have 500M bytecodes/sec and 14.5M sends/sec.
With the source I have provided ? 32bits ?
My linux vm was 32-bit with some older sources. Since I don't have linux on my notebook anymore I can't tell which version it was.
On MacOSX, same laptop, with Squeak VM 4.2.2 beta 1U from pharo website
449122807 bytecodes/sec; 9649554 sends/sec 405384006 bytecodes/sec; 9584683 sends/sec 445604873 bytecodes/sec; 10138464 sends/sec 445993031 bytecodes/sec; 10102544 sends/sec 446381865 bytecodes/sec; 10174641 sends/sec
compared to Linux
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so it seems there's improvements that can be done on Linux VM, but there's not so much difference.
I think everybody know this and that your results is the expected. I even remember some threads were we discussed the same. For example, I found this one:
http://n4.nabble.com/Pharo-apparently-slow-on-linux-td1304643.html#a1304643
but there are more. The MacOS VM is faster than the rest, even with the same PC.
You know that's simply bullshit, do you?
Maybe I express wrongly myself. I said several times (even in this thread) I was a newbie. I said that all the VMs I have tried for Linux are slower than the one I tried for Mac OS. At least the ones that are available for us without needing to be a VM guru. And it seems I was not the only to notice that.
Levente
I have no idea how to improve Linux's one, thus.
Cheers
Mariano
Laurent Laffont
Levente
Laurent Laffont
Levente
Laurent Laffont
On 2010-03-28, at 10:42 AM, laurent laffont wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
--
=========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Mon, 29 Mar 2010, Mariano Martinez Peck wrote:
On Mon, Mar 29, 2010 at 6:03 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, Mariano Martinez Peck wrote:
2010/3/29 laurent laffont <laurent.laffont@gmail.com>
On Mon, Mar 29, 2010 at 2:09 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, laurent laffont wrote:
On Mon, Mar 29, 2010 at 1:19 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Mon, 29 Mar 2010, laurent laffont wrote:
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
So what Ghz is this machine?
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz
cpu MHz : 1994.987 cache size : 4096 KB
There must be something wrong. My T8300 notebook had about 550M bytecodes/sec and 15M sends/sec on linux. With the stock windows vm I have 500M bytecodes/sec and 14.5M sends/sec.
With the source I have provided ? 32bits ?
My linux vm was 32-bit with some older sources. Since I don't have linux on my notebook anymore I can't tell which version it was.
On MacOSX, same laptop, with Squeak VM 4.2.2 beta 1U from pharo website
449122807 bytecodes/sec; 9649554 sends/sec 405384006 bytecodes/sec; 9584683 sends/sec 445604873 bytecodes/sec; 10138464 sends/sec 445993031 bytecodes/sec; 10102544 sends/sec 446381865 bytecodes/sec; 10174641 sends/sec
compared to Linux
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so it seems there's improvements that can be done on Linux VM, but there's not so much difference.
I think everybody know this and that your results is the expected. I even remember some threads were we discussed the same. For example, I found this one:
http://n4.nabble.com/Pharo-apparently-slow-on-linux-td1304643.html#a1304643
but there are more. The MacOS VM is faster than the rest, even with the same PC.
You know that's simply bullshit, do you?
Maybe I express wrongly myself. I said several times (even in this thread) I was a newbie. I said that all the VMs I have tried for Linux are slower than the one I tried for Mac OS. At least the ones that are available for us without needing to be a VM guru. And it seems I was not the only to notice that.
That's normal. Mac VMs can be optimized for Intel Core processors, since all Intel based Macs use those, while prebuilt Linux VMs are usually optimized for i686. That means it's compatible with Pentium Pro (from 1995), so it doesn't use newer instructions and doesn't optimize for a specific CPU architecture. If you compile your own VM from source, it can be significantly faster. Levente
Levente
I have no idea how to improve Linux's one, thus.
Cheers
Mariano
Laurent Laffont
Levente
Laurent Laffont
Levente
Laurent Laffont
On 2010-03-28, at 10:42 AM, laurent laffont wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
--
=========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Ok, fyi on a 2.33 Ghz intel core 2 duo machine a *correctly tuned* VM gives 582,148,948 bytescodes/sec; 14,497,194 sends/sec On 2010-03-28, at 10:21 PM, laurent laffont wrote:
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com> So what Ghz is this machine?
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz cpu MHz : 1994.987 cache size : 4096 KB
Laurent Laffont
On 2010-03-28, at 10:42 AM, laurent laffont wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
Ok, fyi on a 2.33 Ghz intel core 2 duo machine a *correctly tuned* VM gives
What does *correctly tuned* VM mean ? How can I compile a Linux VM with that results ? Cheers Mariano
582,148,948 bytescodes/sec; 14,497,194 sends/sec
On 2010-03-28, at 10:21 PM, laurent laffont wrote:
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
So what Ghz is this machine?
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz cpu MHz : 1994.987 cache size : 4096 KB
Laurent Laffont
On 2010-03-28, at 10:42 AM, laurent laffont wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
Ok, fyi on a 2.33 Ghz intel core 2 duo machine a *correctly tuned* VM gives
582,148,948 bytescodes/sec; 14,497,194 sends/sec
How do you tune your VM ? I've tried the Smalltalk version of Gnuification, but results are worse. So far the best I have is: -O2 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic ========================================== 345479082 bytecodes/sec; 9815639 sends/sec 348536419 bytecodes/sec; 9970081 sends/sec 348299319 bytecodes/sec; 9978804 sends/sec 345013477 bytecodes/sec; 9690546 sends/sec 348299319 bytecodes/sec; 9970081 sends/sec Laurent Laffont
On 2010-03-28, at 10:21 PM, laurent laffont wrote:
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com>
So what Ghz is this machine?
model name : Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz cpu MHz : 1994.987 cache size : 4096 KB
Laurent Laffont
On 2010-03-28, at 10:42 AM, laurent laffont wrote:
Thank you !
Here the result:
Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" ========================================== 339072847 bytecodes/sec; 9560580 sends/sec 338848444 bytecodes/sec; 9552573 sends/sec 338177014 bytecodes/sec; 9473233 sends/sec 337953795 bytecodes/sec; 9496896 sends/sec 338848444 bytecodes/sec; 9496896 sends/sec
so the best performance I have so far.
Laurent Laffont
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On 2010-03-29, at 1:16 PM, laurent laffont wrote:
2010/3/29 John M McIntosh <johnmci@smalltalkconsulting.com> Ok, fyi on a 2.33 Ghz intel core 2 duo machine a *correctly tuned* VM gives
582,148,948 bytescodes/sec; 14,497,194 sends/sec
How do you tune your VM ?
Well the linux VM build process is so complicated, fraught with issues, and requires such careful tool usage I currently have clients who pay for the results like above so it's not fair to them to disclose the information. I can say I think the VM you are building doesn't appear to be using the gunified version of interp.c you should carefully log and check the output from the build to confirm what source being compiled and how it's be compiled is what you think is going on. Lastly what version of GCC are you using? There can be clue there that I've talked about in the past. As mentioned in the earlier note perhaps the easiest path is to invest in the Intel compiler for Linux. -- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
Hi Laurent. I have been trying to compile the VM directly from your sources, but I found some problems. The first one was that I haven't installed cmake. Thus, I have to do a sudo apt-get install cmake. After that, it could do the configure. Then, the second error is that when trying to configure, there are some libraries or headers not found. I attach the output of the configure command. In addition, is the output of the configure written somewhere like config.log or similar ? If you notice the file, there are several things not found, for example: !! XDisplayControlPlugin disabled !! vm-display-Quartz disabled !! vm-sound-MacOSX disabled -- vm-sound-Sun: sys/audioio.h not found -- vm-sound-Sun: sun/audioio.h not found -- vm-sound-Sun: /usr/include/stropts.h !! vm-sound-Sun disabled -- Looking for sys/select.h -- Looking for sys/select.h - found !! vm-display-X11 disabled -- vm-sound-NAS: audio/audio.h not found -- vm-sound-NAS: libaudio not found !! vm-sound-NAS disabled -- vm-display-fbdev: /usr/include/linux/fb.h -- vm-sound-pulse: libpulse-simple not found !! vm-sound-pulse disabled -- vm-sound-ALSA: alsa/asoundlib.h not found -- vm-sound-ALSA: libasound not found !! vm-sound-ALSA disabled -- vm-sound-OSS: alsa/asoundlib.h not found -- vm-sound-OSS: libasound not found !! vm-sound-OSS disabled See that it cannot find the vm-sound-OSS. Then, I did a make and a make install. But when trying to run squeak, I have this error: ubuntu@ubuntu-desktop:~/Pharo/vm/Squeak-3.11.3.2135-pharo-src/build$ squeak + exec padsp /usr/local/lib/squeak/3.11.13-2135/squeakvm -pathenc UTF-8 -encoding UTF-8 -plugins /usr/local/lib/squeak/3.11.13-2135 -vm-sound-oss could not find module vm-sound-OSS Aborted Of course it cannto find it..as I already know that from the configure. So..here I have 2 questions: 1) how can I install the things I am missing ? 2) why the "squeak" executable has "hardcoded" the parameters "-pathenc UTF-8 -encoding UTF-8 -plugins /usr/local/lib/squeak/3.11.13-2135 -vm-sound-oss" is that correct ? do I ALWAYS want all those parameters ? And if I don't want them, how can I execute a "clean" squeak ? Finally, in another thread, Eliot told me how to be able to debug SqueakVM with Gdb and threads. He told me to do: ../unix/cmake/configure CFLAGS="-g3 -pthread" LIBS=-lpthread but configure says: unknown option: CFLAGS=-g3 -pthread unknown option: LIBS=-lpthread Do you know how can I do this ? should I send this email to vm mailing list ? Thanks a lot in advance! Mariano On Sun, Mar 28, 2010 at 12:50 PM, Levente Uzonyi <leves@elte.hu> wrote:
Your optimization flags are probably ignored by cmake: see this thread http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003736.html
You could also give these flags a try on x86 cpus: -O3 -fomit-frame-pointer -mfpmath=sse -march=native
Levente
On Sun, 28 Mar 2010, laurent laffont wrote:
More benchmarks.
Updated procedure with gcc optimizations activated: wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec
Laurent Laffont
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while
building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest
rev.
I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers,
Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
Hi Laurent. I have been trying to compile the VM directly from your sources, but I found some problems.
The first one was that I haven't installed cmake. Thus, I have to do a sudo apt-get install cmake. After that, it could do the configure.
Then, the second error is that when trying to configure, there are some libraries or headers not found. I attach the output of the configure command.
In debian-based distro headers are in separate packages, the ones that ends with -dev. (flamewar inside:) that's why I've switched to ArchLinux, far more simple). So when a header is not found, like asoundlib.h, the easy way is to go to http://packages.ubuntu.com/ , go down the page to "Search the contents of packages" and fill the search field with the name of file. You will see that it's libasound2-dev package. In debian (I don't really know ubuntu), you have apt-file to search for a package's file: apt-file search asoundlib.h And a really great command is "auto-apt run" which installs automagically all needed packages for a given command. You can try: auto-apt run ../unix/cmake/configure when it detects a missing header, it will search the corresponding package and prompt you to install it.
In addition, is the output of the configure written somewhere like config.log or similar ?
It seems no. You can do ../unix/cmake/configure > config.log
If you notice the file, there are several things not found, for example:
!! XDisplayControlPlugin disabled !! vm-display-Quartz disabled !! vm-sound-MacOSX disabled -- vm-sound-Sun: sys/audioio.h not found -- vm-sound-Sun: sun/audioio.h not found -- vm-sound-Sun: /usr/include/stropts.h !! vm-sound-Sun disabled -- Looking for sys/select.h -- Looking for sys/select.h - found !! vm-display-X11 disabled -- vm-sound-NAS: audio/audio.h not found -- vm-sound-NAS: libaudio not found !! vm-sound-NAS disabled -- vm-display-fbdev: /usr/include/linux/fb.h -- vm-sound-pulse: libpulse-simple not found !! vm-sound-pulse disabled -- vm-sound-ALSA: alsa/asoundlib.h not found -- vm-sound-ALSA: libasound not found !! vm-sound-ALSA disabled -- vm-sound-OSS: alsa/asoundlib.h not found -- vm-sound-OSS: libasound not found !! vm-sound-OSS disabled
See that it cannot find the vm-sound-OSS.
libasound-dev package http://packages.ubuntu.com/search?searchon=contents&keywords=libasound.a&mod...
Then, I did a make and a make install. But when trying to run squeak, I have this error:
ubuntu@ubuntu-desktop:~/Pharo/vm/Squeak-3.11.3.2135-pharo-src/build$ squeak + exec padsp /usr/local/lib/squeak/3.11.13-2135/squeakvm -pathenc UTF-8 -encoding UTF-8 -plugins /usr/local/lib/squeak/3.11.13-2135 -vm-sound-oss could not find module vm-sound-OSS Aborted
Of course it cannto find it..as I already know that from the configure. So..here I have 2 questions:
1) how can I install the things I am missing ?
Now you know :)
2) why the "squeak" executable has "hardcoded" the parameters "-pathenc UTF-8 -encoding UTF-8 -plugins /usr/local/lib/squeak/3.11.13-2135 -vm-sound-oss" is that correct ? do I ALWAYS want all those parameters ? And if I don't want them, how can I execute a "clean" squeak ?
May be you can remove sound related plugin... take a look at ../unix/cmake/configure --help ... --without-<plugin> do not build the named plugin .... You can also generate your own src using the Pharo-Core with VMMaker image I've made http://lolgzs.free.fr/pharo/squeak-vm/PharoCore-1.0-VMMaker-1.2.tar.gz VMMaker is already configured. Just remove the sound plugin from external plugins, adapt paths to your system and click "Entire".
Finally, in another thread, Eliot told me how to be able to debug SqueakVM with Gdb and threads. He told me to do:
../unix/cmake/configure CFLAGS="-g3 -pthread" LIBS=-lpthread
but configure says:
unknown option: CFLAGS=-g3 -pthread unknown option: LIBS=-lpthread
you forgot the -- ../unix/cmake/configure --CFLAGS="-g3-pthread" Laurent Laffont
Do you know how can I do this ? should I send this email to vm mailing list ?
Thanks a lot in advance!
Mariano
On Sun, Mar 28, 2010 at 12:50 PM, Levente Uzonyi <leves@elte.hu> wrote:
Your optimization flags are probably ignored by cmake: see this thread http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003736.html
You could also give these flags a try on x86 cpus: -O3 -fomit-frame-pointer -mfpmath=sse -march=native
Levente
On Sun, 28 Mar 2010, laurent laffont wrote:
More benchmarks.
Updated procedure with gcc optimizations activated: wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec
Laurent Laffont
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while
building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest
rev.
I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers,
Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/3/28 laurent laffont <laurent.laffont@gmail.com>
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
Hi Laurent. I have been trying to compile the VM directly from your sources, but I found some problems.
The first one was that I haven't installed cmake. Thus, I have to do a sudo apt-get install cmake. After that, it could do the configure.
Then, the second error is that when trying to configure, there are some libraries or headers not found. I attach the output of the configure command.
In debian-based distro headers are in separate packages, the ones that ends with -dev. (flamewar inside:) that's why I've switched to ArchLinux, far more simple).
Yes. I know that problem ;) With SqueakDBX I had the same problem when installing the dev packages of the database client libraries.
So when a header is not found, like asoundlib.h, the easy way is to go to http://packages.ubuntu.com/ , go down the page to "Search the contents of packages" and fill the search field with the name of file. You will see that it's libasound2-dev package.
Good link! I didn't know how to easily search it. Thanks
In debian (I don't really know ubuntu), you have apt-file to search for a package's file: apt-file search asoundlib.h
And a really great command is "auto-apt run" which installs automagically all needed packages for a given command. You can try: auto-apt run ../unix/cmake/configure
when it detects a missing header, it will search the corresponding package and prompt you to install it.
I tried both tools but don't seem to work...I don't know why. They just do nothing. But anyway, I do it manually :) If someone is interested, these are all the packages I needed to install in order not to have problems in my Ubuntu 9.10: sudo apt-get install linux-libc-dev libecasound2.2-dev libasound2-dev libc6-dev gnulib libc6-dev libpulse-dev libxrender-dev uuid-dev
In addition, is the output of the configure written somewhere like config.log or similar ?
It seems no. You can do ../unix/cmake/configure > config.log
yes, thanks :)
2) why the "squeak" executable has "hardcoded" the parameters "-pathenc UTF-8 -encoding UTF-8 -plugins /usr/local/lib/squeak/3.11.13-2135 -vm-sound-oss" is that correct ? do I ALWAYS want all those parameters ? And if I don't want them, how can I execute a "clean" squeak ?
May be you can remove sound related plugin... take a look at ../unix/cmake/configure --help ... --without-<plugin> do not build the named plugin ....
Ok.....but not only plugins. For exaple, if I don't want UTF-8 ?
You can also generate your own src using the Pharo-Core with VMMaker image I've made http://lolgzs.free.fr/pharo/squeak-vm/PharoCore-1.0-VMMaker-1.2.tar.gz
VMMaker is already configured. Just remove the sound plugin from external plugins, adapt paths to your system and click "Entire".
Thanks. I did this several times, but in MacOS, not linux. But this step is the same :)
Finally, in another thread, Eliot told me how to be able to debug SqueakVM with Gdb and threads. He told me to do:
../unix/cmake/configure CFLAGS="-g3 -pthread" LIBS=-lpthread
but configure says:
unknown option: CFLAGS=-g3 -pthread unknown option: LIBS=-lpthread
you forgot the --
ufff.....what an idiot...thanks! did you already discovered I am a newbie here ? :) Thanks for everything. Mariano
../unix/cmake/configure --CFLAGS="-g3-pthread"
Laurent Laffont
Do you know how can I do this ? should I send this email to vm mailing list ?
Thanks a lot in advance!
Mariano
On Sun, Mar 28, 2010 at 12:50 PM, Levente Uzonyi <leves@elte.hu> wrote:
Your optimization flags are probably ignored by cmake: see this thread http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003736.html
You could also give these flags a try on x86 cpus: -O3 -fomit-frame-pointer -mfpmath=sse -march=native
Levente
On Sun, 28 Mar 2010, laurent laffont wrote:
More benchmarks.
Updated procedure with gcc optimizations activated: wget
http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec
Laurent Laffont
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while
building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest
rev.
I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers,
Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
In debian (I don't really know ubuntu), you have apt-file to search for a package's file: apt-file search asoundlib.h
And a really great command is "auto-apt run" which installs automagically all needed packages for a given command. You can try: auto-apt run ../unix/cmake/configure
when it detects a missing header, it will search the corresponding package and prompt you to install it.
I tried both tools but don't seem to work...I don't know why. They just do nothing. But anyway, I do it manually :)
you have to run apt-file update in order to populate / refresh apt file cache.
If someone is interested, these are all the packages I needed to install in order not to have problems in my Ubuntu 9.10:
sudo apt-get install linux-libc-dev libecasound2.2-dev libasound2-dev libc6-dev gnulib libc6-dev libpulse-dev libxrender-dev uuid-dev
Should be on Pharo website, given the popularity of Ubuntu.
Ok.....but not only plugins. For exaple, if I don't want UTF-8 ?
errr... maybe it's time to ask to the vm-dev list :)
ufff.....what an idiot...thanks! did you already discovered I am a newbie here ? :)
Me too, but a little less every day :) Laurent Laffont
2010/3/28 laurent laffont <laurent.laffont@gmail.com>
In debian (I don't really know ubuntu), you have apt-file to search for a package's file: apt-file search asoundlib.h
And a really great command is "auto-apt run" which installs automagically all needed packages for a given command. You can try: auto-apt run ../unix/cmake/configure
when it detects a missing header, it will search the corresponding package and prompt you to install it.
I tried both tools but don't seem to work...I don't know why. They just do nothing. But anyway, I do it manually :)
you have to run
apt-file update
in order to populate / refresh apt file cache.
Yes, exactly there was the problem...it couldn't update....start to loop and didn't find the files to download. Let me try it again and I paste you the console if you want.
Ok....I after a little time, I run both: benchmars and all tests in PharoDev RC3 in 3 vms: 1) the one from Pharo download: http://squeakvm.org/unix/release/Squeak-3.11.3.2135-linux_i386.tar.gz 2) the other one from Pharo Download (exupery): http://gforge.inria.fr/frs/download.php/24736/pharo-vm-0.15.2f-linux.zip 3) A new one, compiled as Laurent said with Squeak VM 3.11.3 -r 2135 + FT2Plugin + --CFLAGS="-O3 -fomit-frame-pointer -mfpmath=sse -march=native -s -mtune=generic" Results 1) Has no FreeType. Unacceptable for Pharo. Should be remove from website. '241965973 bytecodes/sec; 9441865 sends/sec' '248302618 bytecodes/sec; 8876087 sends/sec' '248062015 bytecodes/sec; 9426258 sends/sec' '241965973 bytecodes/sec; 9272986 sends/sec' All test pass. 2) Has freetype '467579908 bytecodes/sec; 11130837 sends/sec' '467579908 bytecodes/sec; 11687732 sends/sec' '462929475 bytecodes/sec; 11845268 sends/sec' '466727438 bytecodes/sec; 10483247 sends/sec' Has two failing tests in TestIdenting 3) Has freetype '423490488 bytecodes/sec; 12494874 sends/sec' '426666666 bytecodes/sec; 12580047 sends/sec' '422442244 bytecodes/sec; 11204099 sends/sec' '414574898 bytecodes/sec; 12157397 sends/sec' All PharoRC3 green. So...In summary, the new compiled VM has almost the same performance as Expuery, but it is more cleaner, easy to understand and install, it is repeatable, and has the sources. I strongly to remove the TWO current Linux VM links from Pharo download site, and upload this new compiled VM but doing some work: more testing, readme.txt, rename it to PharoXXX, etc. We should have this VM for Pharo 1.0 and include it in the one click. Cheers Mariano On Sun, Mar 28, 2010 at 6:20 PM, Mariano Martinez Peck < marianopeck@gmail.com> wrote:
2010/3/28 laurent laffont <laurent.laffont@gmail.com>
In debian (I don't really know ubuntu), you have apt-file to search for a package's file: apt-file search asoundlib.h
And a really great command is "auto-apt run" which installs automagically all needed packages for a given command. You can try: auto-apt run ../unix/cmake/configure
when it detects a missing header, it will search the corresponding package and prompt you to install it.
I tried both tools but don't seem to work...I don't know why. They just do nothing. But anyway, I do it manually :)
you have to run
apt-file update
in order to populate / refresh apt file cache.
Yes, exactly there was the problem...it couldn't update....start to loop and didn't find the files to download. Let me try it again and I paste you the console if you want.
On 3/28/10 1:20 PM, Mariano Martinez Peck wrote:
Yes. I know that problem ;) With SqueakDBX I had the same problem when installing the dev packages of the database client libraries.
So when a header is not found, like asoundlib.h, the easy way is to go to http://packages.ubuntu.com/ , go down the page to "Search the contents of packages" and fill the search field with the name of file. You will see that it's libasound2-dev package.
Good link! I didn't know how to easily search it. Thanks
When I used to build squeakland VMs and installers I had a little script that installed all necessary dev packs. It is part of the squeakland repository, but that doesn't seem to be online anymore: http://svn.squeakland.org/installers/ At home I might have a copy of the repository though... Michael
El dom, 28-03-2010 a las 13:10 -0300, Mariano Martinez Peck escribió:
Hi Laurent. I have been trying to compile the VM directly from your sources, but I found some problems.
The first one was that I haven't installed cmake. Thus, I have to do a sudo apt-get install cmake. After that, it could do the configure.
Then, the second error is that when trying to configure, there are some libraries or headers not found. I attach the output of the configure command.
have you installed the build-essentials package. It takes care of most build dependencies and libc libraries for compiling. aptitude install build-essentials. Cheers
In addition, is the output of the configure written somewhere like config.log or similar ?
If you notice the file, there are several things not found, for example:
!! XDisplayControlPlugin disabled !! vm-display-Quartz disabled !! vm-sound-MacOSX disabled -- vm-sound-Sun: sys/audioio.h not found -- vm-sound-Sun: sun/audioio.h not found -- vm-sound-Sun: /usr/include/stropts.h !! vm-sound-Sun disabled -- Looking for sys/select.h -- Looking for sys/select.h - found !! vm-display-X11 disabled -- vm-sound-NAS: audio/audio.h not found -- vm-sound-NAS: libaudio not found !! vm-sound-NAS disabled -- vm-display-fbdev: /usr/include/linux/fb.h -- vm-sound-pulse: libpulse-simple not found !! vm-sound-pulse disabled -- vm-sound-ALSA: alsa/asoundlib.h not found -- vm-sound-ALSA: libasound not found !! vm-sound-ALSA disabled -- vm-sound-OSS: alsa/asoundlib.h not found -- vm-sound-OSS: libasound not found !! vm-sound-OSS disabled
See that it cannot find the vm-sound-OSS.
Then, I did a make and a make install. But when trying to run squeak, I have this error:
ubuntu@ubuntu-desktop:~/Pharo/vm/Squeak-3.11.3.2135-pharo-src/build$ squeak + exec padsp /usr/local/lib/squeak/3.11.13-2135/squeakvm -pathenc UTF-8 -encoding UTF-8 -plugins /usr/local/lib/squeak/3.11.13-2135 -vm-sound-oss could not find module vm-sound-OSS Aborted
Of course it cannto find it..as I already know that from the configure. So..here I have 2 questions:
1) how can I install the things I am missing ?
2) why the "squeak" executable has "hardcoded" the parameters "-pathenc UTF-8 -encoding UTF-8 -plugins /usr/local/lib/squeak/3.11.13-2135 -vm-sound-oss" is that correct ? do I ALWAYS want all those parameters ? And if I don't want them, how can I execute a "clean" squeak ?
Finally, in another thread, Eliot told me how to be able to debug SqueakVM with Gdb and threads. He told me to do:
../unix/cmake/configure CFLAGS="-g3 -pthread" LIBS=-lpthread
but configure says:
unknown option: CFLAGS=-g3 -pthread unknown option: LIBS=-lpthread
Do you know how can I do this ? should I send this email to vm mailing list ?
Thanks a lot in advance!
Mariano
On Sun, Mar 28, 2010 at 12:50 PM, Levente Uzonyi <leves@elte.hu> wrote: Your optimization flags are probably ignored by cmake: see this thread http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003736.html
You could also give these flags a try on x86 cpus: -O3 -fomit-frame-pointer -mfpmath=sse -march=native
Levente
On Sun, 28 Mar 2010, laurent laffont wrote:
More benchmarks.
Updated procedure with gcc optimizations activated: wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec
Laurent Laffont
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Miguel Cobá http://miguel.leugim.com.mx
2010/3/28 Miguel Enrique Cobá Martinez <miguel.coba@gmail.com>
El dom, 28-03-2010 a las 13:10 -0300, Mariano Martinez Peck escribió:
Hi Laurent. I have been trying to compile the VM directly from your sources, but I found some problems.
The first one was that I haven't installed cmake. Thus, I have to do a sudo apt-get install cmake. After that, it could do the configure.
Then, the second error is that when trying to configure, there are some libraries or headers not found. I attach the output of the configure command.
have you installed the build-essentials package. It takes care of most build dependencies and libc libraries for compiling.
aptitude install build-essentials.
Thanks for the tip Miguel. But yes, it is one of the first things I do in Linux as I need that for SqueakDBX/OpenDBX :) So...all these things I have installed seem not to be included there. Ahh just in case someone is interested in your tip, it is sudo apt-get install build-essential (without the S at the end) Thanks! Mariano
Cheers
In addition, is the output of the configure written somewhere like config.log or similar ?
If you notice the file, there are several things not found, for example:
!! XDisplayControlPlugin disabled !! vm-display-Quartz disabled !! vm-sound-MacOSX disabled -- vm-sound-Sun: sys/audioio.h not found -- vm-sound-Sun: sun/audioio.h not found -- vm-sound-Sun: /usr/include/stropts.h !! vm-sound-Sun disabled -- Looking for sys/select.h -- Looking for sys/select.h - found !! vm-display-X11 disabled -- vm-sound-NAS: audio/audio.h not found -- vm-sound-NAS: libaudio not found !! vm-sound-NAS disabled -- vm-display-fbdev: /usr/include/linux/fb.h -- vm-sound-pulse: libpulse-simple not found !! vm-sound-pulse disabled -- vm-sound-ALSA: alsa/asoundlib.h not found -- vm-sound-ALSA: libasound not found !! vm-sound-ALSA disabled -- vm-sound-OSS: alsa/asoundlib.h not found -- vm-sound-OSS: libasound not found !! vm-sound-OSS disabled
See that it cannot find the vm-sound-OSS.
Then, I did a make and a make install. But when trying to run squeak, I have this error:
ubuntu@ubuntu-desktop:~/Pharo/vm/Squeak-3.11.3.2135-pharo-src/build$ squeak + exec padsp /usr/local/lib/squeak/3.11.13-2135/squeakvm -pathenc UTF-8 -encoding UTF-8 -plugins /usr/local/lib/squeak/3.11.13-2135 -vm-sound-oss could not find module vm-sound-OSS Aborted
Of course it cannto find it..as I already know that from the configure. So..here I have 2 questions:
1) how can I install the things I am missing ?
2) why the "squeak" executable has "hardcoded" the parameters "-pathenc UTF-8 -encoding UTF-8 -plugins /usr/local/lib/squeak/3.11.13-2135 -vm-sound-oss" is that correct ? do I ALWAYS want all those parameters ? And if I don't want them, how can I execute a "clean" squeak ?
Finally, in another thread, Eliot told me how to be able to debug SqueakVM with Gdb and threads. He told me to do:
../unix/cmake/configure CFLAGS="-g3 -pthread" LIBS=-lpthread
but configure says:
unknown option: CFLAGS=-g3 -pthread unknown option: LIBS=-lpthread
Do you know how can I do this ? should I send this email to vm mailing list ?
Thanks a lot in advance!
Mariano
On Sun, Mar 28, 2010 at 12:50 PM, Levente Uzonyi <leves@elte.hu> wrote: Your optimization flags are probably ignored by cmake: see this thread
http://lists.squeakfoundation.org/pipermail/vm-dev/2010-January/003736.html
You could also give these flags a try on x86 cpus: -O3 -fomit-frame-pointer -mfpmath=sse -march=native
Levente
On Sun, 28 Mar 2010, laurent laffont wrote:
More benchmarks.
Updated procedure with gcc optimizations activated: wget
http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz
tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure --CFLAGS="-O2" make sudo make install
Squeak VM 3.11.3 -r 2135 + FT2Plugin ========================================== 334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O2 ========================================== 330109606 bytecodes/sec; 9183392 sends/sec 331177231 bytecodes/sec; 9190792 sends/sec 330535829 bytecodes/sec; 9198204 sends/sec 329896907 bytecodes/sec; 9220511 sends/sec 330963154 bytecodes/sec; 8973857 sends/sec
Squeak VM 3.11.3 -r 2135 + FT2Plugin + CFLAGS=-O3 ========================================== 296811594 bytecodes/sec; 10138464 sends/sec 296467863 bytecodes/sec; 10129460 sends/sec 296639629 bytecodes/sec; 10138464 sends/sec 296124927 bytecodes/sec; 7920675 sends/sec 296296296 bytecodes/sec; 7926179 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification ========================================== 306586826 bytecodes/sec; 7218843 sends/sec 308248043 bytecodes/sec; 7209717 sends/sec 308805790 bytecodes/sec; 7223415 sends/sec 309552599 bytecodes/sec; 7218843 sends/sec 309927360 bytecodes/sec; 7269453 sends/sec
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification + CFLAGS=-O2 ========================================== 293073840 bytecodes/sec; 8807546 sends/sec 292070735 bytecodes/sec; 8841684 sends/sec 281628162 bytecodes/sec; 8896858 sends/sec 294422081 bytecodes/sec; 8903804 sends/sec
Laurent Laffont
2010/3/28 Mariano Martinez Peck <marianopeck@gmail.com>
2010/3/27 laurent laffont <laurent.laffont@gmail.com>
OK, I've tried the Smalltalk one...
With rev 2151 gnuification (awk) is done as I have gnu-interp.c and gnu-interp.c.log in my build directory.
Benchmark gives me:
Squeak VM 3.11.3 -r 2151 + FT2Plugin + Gnuification
==========================================
312385600 bytecodes/sec; 7320778 sends/sec 310868245 bytecodes/sec; 8271046 sends/sec 310679611 bytecodes/sec; 8271046 sends/sec 310868245 bytecodes/sec; 7232576 sends/sec 310491206 bytecodes/sec; 8271046 sends/sec
compared to
Squeak VM 3.11.3 -r 2135 + FT2Plugin
==========================================
334421946 bytecodes/sec; 8026581 sends/sec 334640522 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7449884 sends/sec 334421946 bytecodes/sec; 7675486 sends/sec 327156549 bytecodes/sec; 7598782 sends/sec
so it seems that on my machine rev 2135 without gnuification is a little better. I have GCC 4.4.3, Linux 32bits.
I don't understand....it is slower with the gnuification ?
weird....
Laurent Laffont
On Sat, Mar 27, 2010 at 8:55 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Sat, 27 Mar 2010, laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2:
erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <
laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I
have a little drop in benchmarks. However I'd rather put a stable
release
for Pharo 1.0 than latest trunk. What do you think ?
The so-called
"gnuification" is a transformation of the interp.c file.
So this is done after
generating the sources with VMMaker. The cmake
configuration that comes with revision 2135 does not have this step
enabled, and the more recent version
that I used, revision 2151, has it. The
magic is in the awk script in
unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Miguel Cobá http://miguel.leugim.com.mx
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Which gnuification method did you try? There are two different versions. The origial version is an awk script which is run when you're building the vm with make. This is executed by default if you have awk installed. There's another version written in smalltalk (linked by Mariano into this thread) which is not used by VMMAker at the moment, you probably don't need that. If you applied the latter one, you have to make sure that the first one is not executed. You can't gnuifying the sources twice. Since both do the same, the best you can do now is to ignore the smalltalk version. If VMMaker will adopt Gnuifier.st
This would be good! Relying less on the tools of the platform is a plus to my eyes.
we can remove the awk dependency from the build process, until then you shouldn't apply it if your platform has awk installed.
Levente
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I
have a little drop in benchmarks. However I'd rather put a stable release for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hi Laurent I used the awk gnuification as it is automatically done with cmake. The problem I run into was that the line end chars of the interp.c file generated from Squeak were cr instead of lf and hence awk failed with the same error like the one you posted below. I've explained how to fix this in my blog post (http://www.adrian-lienhard.ch/blog). Cheers, Adrian On Mar 27, 2010, at 20:41 , laurent laffont wrote:
I've tried gnuification on rev 2151. cmake/configure OK. But while building:
/home/lol/sandbox/squeakvm/Squeak-3.11.3.2151-pharo-src/build/gnu-interp.c:25104:2: erreur: #error GNUIFICATION FAILED ( 0 )
Laurent Laffont
On Sat, Mar 27, 2010 at 6:47 PM, laurent laffont <laurent.laffont@gmail.com>wrote:
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I
have a little drop in benchmarks. However I'd rather put a stable release for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
OK thanks. I will take a look.
Laurent Laffont
Cheers, Adrian
Laurent Laffont
Adrian
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Sat, 2010-03-27 at 18:38 +0100, Adrian Lienhard wrote:
On Mar 27, 2010, at 18:21 , laurent laffont wrote:
On Sat, Mar 27, 2010 at 6:13 PM, Adrian Lienhard <adi@netstyle.ch> wrote:
On Mar 27, 2010, at 17:16 , laurent laffont wrote:
I would love that the official Linux VM has:
- that thing about the gnufication I did that when compiling MacOS VM. Read this link (step 4 for example)
http://www.squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Docu...
does it make sense also in Linux VM ? which are the difference in the benchmarks compared to do it without this step ?
Isn't it a MacOS issue only ?
No, this is relevant for all GNU C compilers! Without this step, which replaces the switch statement of the interpreter with a jump table, you get a *much* slower VM. I suggest to use the latest SVN source.
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I have a little drop in benchmarks. However I'd rather put a stable release for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
The Exupery VMs are gnuified so as your benchmarks are close, I'd say your VM is gnuified too. If it isn't performance drops dramatically, I think to about a tenth the performance. Bryce
On Sun, Mar 28, 2010 at 11:48 AM, Bryce Kampjes <bryce@kampjes.demon.co.uk>wrote:
On Sat, 2010-03-27 at 18:38 +0100, Adrian Lienhard wrote:
On Mar 27, 2010, at 18:21 , laurent laffont wrote:
On Sat, Mar 27, 2010 at 6:13 PM, Adrian Lienhard <adi@netstyle.ch> wrote:
On Mar 27, 2010, at 17:16 , laurent laffont wrote:
I would love that the official Linux VM has:
- that thing about the gnufication I did that when compiling MacOS VM. Read this link (step 4 for example)
http://www.squeakvm.org/cgi-bin/viewcvs.cgi/trunk/platforms/Mac%20OS/vm/Docu...
does it make sense also in Linux VM ? which are the difference in
the
benchmarks compared to do it without this step ?
Isn't it a MacOS issue only ?
No, this is relevant for all GNU C compilers! Without this step, which replaces the switch statement of the interpreter with a jump table, you get a *much* slower VM. I suggest to use the latest SVN source.
Does it mean latest SVN source is already "Gnuified" ? With latest rev. I have a little drop in benchmarks. However I'd rather put a stable release for Pharo 1.0 than latest trunk. What do you think ?
The so-called "gnuification" is a transformation of the interp.c file. So this is done after generating the sources with VMMaker. The cmake configuration that comes with revision 2135 does not have this step enabled, and the more recent version that I used, revision 2151, has it. The magic is in the awk script in unix/cmake/gnuify.awk which produes gnu-interp.c.
The Exupery VMs are gnuified so as your benchmarks are close, I'd say your VM is gnuified too. If it isn't performance drops dramatically, I think to about a tenth the performance.
Bryce
OK, thanks. Lot of things to learn :) Laurent Laffont
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
laurent laffont a écrit :
Hi,
Finally I've managed to build squeak vm rev. 2135 (current stable) with FT2Plugin which makes all tests green on Pharo 1.0 rc3 image........ on my machine :)
If some Linux users can test it on their distro, thanks.
The clean binary archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz tested on Ubuntu 9.10 32bits works like a charm. Thanks Alain
El vie, 26-03-2010 a las 22:11 +0100, laurent laffont escribió:
Hi,
Finally I've managed to build squeak vm rev. 2135 (current stable) with FT2Plugin which makes all tests green on Pharo 1.0 rc3 image........ on my machine :)
If some Linux users can test it on their distro, thanks.
Hi Laurent, good job. I tested your instructions on my: Debian GNU/Linux Squeeze (testing) amd64 I didn't have cmake so first had to install it: aptitude install cmake and then:
To build from source archive: ======================= wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure make
I don't install it (I don't like the custom install process) so I can't say if ther is a problem with the install ;)
sudo make install
I ran the tests in a PharoCore 10515 RC3. Just 1 failure: 7296 run, 7278 passes, 17 expected failures, 1 failures, 0 errors, 0 unexpected passes Also, 1 tinyBenchmarks -> '362606232 bytecodes/sec; 10580494 sends/sec' Cheers -- Miguel Cobá http://miguel.leugim.com.mx
El sáb, 27-03-2010 a las 10:56 -0600, Miguel Enrique Cobá Martinez escribió:
El vie, 26-03-2010 a las 22:11 +0100, laurent laffont escribió:
Hi,
Finally I've managed to build squeak vm rev. 2135 (current stable) with FT2Plugin which makes all tests green on Pharo 1.0 rc3 image........ on my machine :)
If some Linux users can test it on their distro, thanks.
Hi Laurent, good job. I tested your instructions on my:
Debian GNU/Linux Squeeze (testing) amd64
I didn't have cmake so first had to install it:
aptitude install cmake
and then:
To build from source archive: ======================= wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure make
I don't install it (I don't like the custom install process) so I can't say if ther is a problem with the install ;)
sudo make install
I ran the tests in a PharoCore 10515 RC3. Just 1 failure:
7296 run, 7278 passes, 17 expected failures, 1 failures, 0 errors, 0 unexpected passes
Forget this, this doesn't happen in a clean unzipped PharoCore 10515 RC3. I was using a dirty directory that was used to build a Pharo dev image. As part of the dev process, the sources or changes file is modified somehow and this made the testRecompile fail when using the code from the sources/changes file. So, when using a clean 10515 core image the test are all green. Good job. Cheers
Also,
1 tinyBenchmarks -> '362606232 bytecodes/sec; 10580494 sends/sec'
Cheers
-- Miguel Cobá http://miguel.leugim.com.mx
Hi Laurent, Here a problem report concerning your VM (http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz) from a Ubuntu 64bit user. His machine: (k)ubuntu karmic x64 Linux toat 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 04:38:19 UTC 2010 x86_64 GNU/Linux Pulseaudio: 1:0.9.19-0ubuntu4.1 Intel(R) Core(TM) i7 CPU, 950 @ 3.07GHz The first problem he had was that the VM segfaulted. He then disabled psdsp in the startup script. This fixed the crash and sound worked (Beeper beep). His tinyBenchmark results are: 582811610 bytecodes/sec; 15102233 sends/sec 562946673 bytecodes/sec; 16346261 sends/sec 583475783 bytecodes/sec; 16404381 sends/sec 589522164 bytecodes/sec; 16288551 sends/sec 570791527 bytecodes/sec; 16389812 sends/sec 527835051 bytecodes/sec; 14646769 sends/sec 590201729 bytecodes/sec; 16288551 sends/sec 586483390 bytecodes/sec; 16231248 sends/sec 590542099 bytecodes/sec; 16259849 sends/sec 542085759 bytecodes/sec; 14763943 sends/sec ...compared to a 3.9-8 #1 Tue Jan 13 16:33:40 UTC 2009 gcc 4.3.3 VM: 580828133 bytecodes/sec; 18995358 sends/sec 539515279 bytecodes/sec; 17677135 sends/sec 552617377 bytecodes/sec; 17865371 sends/sec 588167719 bytecodes/sec; 19129213 sends/sec 579185520 bytecodes/sec; 18947146 sends/sec 585812356 bytecodes/sec; 16785105 sends/sec 545551411 bytecodes/sec; 18164300 sends/sec 577226606 bytecodes/sec; 19227754 sends/sec 587155963 bytecodes/sec; 19080321 sends/sec 580498866 bytecodes/sec; 18815817 sends/sec The new VM is slower on sends/sec, but the really astonishing difference is not in the benchmarks but in the GUI performance. It is really slow. Just moving the mouse around on an empty world makes CPU consumption go up to over 70%! He didn't experience this problem with the old 3.9-8 VM. Cheers, Adrian On Mar 26, 2010, at 22:11 , laurent laffont wrote:
Hi,
Finally I've managed to build squeak vm rev. 2135 (current stable) with FT2Plugin which makes all tests green on Pharo 1.0 rc3 image........ on my machine :)
If some Linux users can test it on their distro, thanks.
The clean binary archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz
The generated source archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz
PharoCore-1.0 + configured VMMaker 1.2 image (for new vm builders, to have a known working base): http://lolgzs.free.fr/pharo/squeak-vm/PharoCore-1.0-VMMaker-1.2.tar.gz
To build from source archive: ======================= wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure make sudo make install
Internal plugins: ====================== UUIDPlugin
External plugins: ====================== ADPCMCodecPlugin AioPlugin AsynchFilePlugin B2DPlugin B3DAcceleratorPlugin BMPReadWriterPlugin BitBltPlugin CroquetPlugin DSAPrims DropPlugin FFTPlugin FT2Plugin FileCopyPlugin FilePlugin FloatArrayPlugin FloatMathPlugin GeniePlugin HostWindowPlugin JPEGReadWriter2Plugin JPEGReaderPlugin JoystickTabletPlugin Klatt LargeIntegers LocalePlugin MIDIPlugin Matrix2x3Plugin MiscPrimitivePlugin Mpeg3Plugin QuicktimePlugin RePlugin SecurityPlugin SerialPlugin SocketPlugin SoundCodecPrims SoundGenerationPlugin SoundPlugin Squeak3D SqueakFFIPrims StarSqueakPlugin SurfacePlugin UnixOSProcessPlugin XDisplayControlPlugin ZipPlugin
Fun story: if you don't have SecurityPlugin, LocaleTest>>testFontFullName deletes your image :) testFontFullName "self debug: #testFontFullName" | env dir | env := (Locale isoLanguage: 'ja') languageEnvironment. dir := FileDirectory on: SecurityManager default untrustedUserDirectory. [dir recursiveDelete] <-------------- Cool !! on: Error do: [:e | e]. env fontFullName. self assert: dir exists
Cheers,
Laurent Laffont _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Tue, Mar 30, 2010 at 6:29 PM, Adrian Lienhard <adi@netstyle.ch> wrote:
Hi Laurent,
Here a problem report concerning your VM ( http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz) from a Ubuntu 64bit user.
So he uses the binary archive ? As I compiled it on a 32bits machine, it's not really a surprise.... We need to provide both 32bits *and* 64bits version. Can he recompile the vm using http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz<http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz> , test it then send the archive ? I will rename my archive with -32 suffix. Thanks for the report. Laurent Laffont
His machine:
(k)ubuntu karmic x64 Linux toat 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 04:38:19 UTC 2010 x86_64 GNU/Linux Pulseaudio: 1:0.9.19-0ubuntu4.1 Intel(R) Core(TM) i7 CPU, 950 @ 3.07GHz
The first problem he had was that the VM segfaulted. He then disabled psdsp in the startup script. This fixed the crash and sound worked (Beeper beep).
His tinyBenchmark results are:
582811610 bytecodes/sec; 15102233 sends/sec 562946673 bytecodes/sec; 16346261 sends/sec 583475783 bytecodes/sec; 16404381 sends/sec 589522164 bytecodes/sec; 16288551 sends/sec 570791527 bytecodes/sec; 16389812 sends/sec 527835051 bytecodes/sec; 14646769 sends/sec 590201729 bytecodes/sec; 16288551 sends/sec 586483390 bytecodes/sec; 16231248 sends/sec 590542099 bytecodes/sec; 16259849 sends/sec 542085759 bytecodes/sec; 14763943 sends/sec
...compared to a 3.9-8 #1 Tue Jan 13 16:33:40 UTC 2009 gcc 4.3.3 VM:
580828133 bytecodes/sec; 18995358 sends/sec 539515279 bytecodes/sec; 17677135 sends/sec 552617377 bytecodes/sec; 17865371 sends/sec 588167719 bytecodes/sec; 19129213 sends/sec 579185520 bytecodes/sec; 18947146 sends/sec 585812356 bytecodes/sec; 16785105 sends/sec 545551411 bytecodes/sec; 18164300 sends/sec 577226606 bytecodes/sec; 19227754 sends/sec 587155963 bytecodes/sec; 19080321 sends/sec 580498866 bytecodes/sec; 18815817 sends/sec
The new VM is slower on sends/sec, but the really astonishing difference is not in the benchmarks but in the GUI performance. It is really slow. Just moving the mouse around on an empty world makes CPU consumption go up to over 70%! He didn't experience this problem with the old 3.9-8 VM.
Cheers, Adrian
On Mar 26, 2010, at 22:11 , laurent laffont wrote:
Hi,
Finally I've managed to build squeak vm rev. 2135 (current stable) with FT2Plugin which makes all tests green on Pharo 1.0 rc3 image........ on my machine :)
If some Linux users can test it on their distro, thanks.
The clean binary archive:
http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz
The generated source archive:
http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz
PharoCore-1.0 + configured VMMaker 1.2 image (for new vm builders, to
have
a known working base): http://lolgzs.free.fr/pharo/squeak-vm/PharoCore-1.0-VMMaker-1.2.tar.gz
To build from source archive: ======================= wget
http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz
tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure make sudo make install
Internal plugins: ====================== UUIDPlugin
External plugins: ====================== ADPCMCodecPlugin AioPlugin AsynchFilePlugin B2DPlugin B3DAcceleratorPlugin BMPReadWriterPlugin BitBltPlugin CroquetPlugin DSAPrims DropPlugin FFTPlugin FT2Plugin FileCopyPlugin FilePlugin FloatArrayPlugin FloatMathPlugin GeniePlugin HostWindowPlugin JPEGReadWriter2Plugin JPEGReaderPlugin JoystickTabletPlugin Klatt LargeIntegers LocalePlugin MIDIPlugin Matrix2x3Plugin MiscPrimitivePlugin Mpeg3Plugin QuicktimePlugin RePlugin SecurityPlugin SerialPlugin SocketPlugin SoundCodecPrims SoundGenerationPlugin SoundPlugin Squeak3D SqueakFFIPrims StarSqueakPlugin SurfacePlugin UnixOSProcessPlugin XDisplayControlPlugin ZipPlugin
Fun story: if you don't have SecurityPlugin, LocaleTest>>testFontFullName deletes your image :) testFontFullName "self debug: #testFontFullName" | env dir | env := (Locale isoLanguage: 'ja') languageEnvironment. dir := FileDirectory on: SecurityManager default untrustedUserDirectory. [dir recursiveDelete] <-------------- Cool !! on: Error do: [:e | e]. env fontFullName. self assert: dir exists
Cheers,
Laurent Laffont _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Tue, 30 Mar 2010, Adrian Lienhard wrote:
Hi Laurent,
Here a problem report concerning your VM (http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz) from a Ubuntu 64bit user.
His machine:
(k)ubuntu karmic x64 Linux toat 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 04:38:19 UTC 2010 x86_64 GNU/Linux Pulseaudio: 1:0.9.19-0ubuntu4.1 Intel(R) Core(TM) i7 CPU, 950 @ 3.07GHz
The first problem he had was that the VM segfaulted. He then disabled psdsp in the startup script. This fixed the crash and sound worked (Beeper beep).
His tinyBenchmark results are:
582811610 bytecodes/sec; 15102233 sends/sec 562946673 bytecodes/sec; 16346261 sends/sec 583475783 bytecodes/sec; 16404381 sends/sec 589522164 bytecodes/sec; 16288551 sends/sec 570791527 bytecodes/sec; 16389812 sends/sec 527835051 bytecodes/sec; 14646769 sends/sec 590201729 bytecodes/sec; 16288551 sends/sec 586483390 bytecodes/sec; 16231248 sends/sec 590542099 bytecodes/sec; 16259849 sends/sec 542085759 bytecodes/sec; 14763943 sends/sec
...compared to a 3.9-8 #1 Tue Jan 13 16:33:40 UTC 2009 gcc 4.3.3 VM:
580828133 bytecodes/sec; 18995358 sends/sec 539515279 bytecodes/sec; 17677135 sends/sec 552617377 bytecodes/sec; 17865371 sends/sec 588167719 bytecodes/sec; 19129213 sends/sec 579185520 bytecodes/sec; 18947146 sends/sec 585812356 bytecodes/sec; 16785105 sends/sec 545551411 bytecodes/sec; 18164300 sends/sec 577226606 bytecodes/sec; 19227754 sends/sec 587155963 bytecodes/sec; 19080321 sends/sec 580498866 bytecodes/sec; 18815817 sends/sec
The new VM is slower on sends/sec, but the really astonishing difference is not in the benchmarks but in the GUI performance. It is really slow. Just moving the mouse around on an empty world makes CPU consumption go up to over 70%! He didn't experience this problem with the old 3.9-8 VM.
That's probably because Laurent built almost every plugin as external. These include those which are responsible for displaying stuff on the screen. Levente
Cheers, Adrian
On Mar 26, 2010, at 22:11 , laurent laffont wrote:
Hi,
Finally I've managed to build squeak vm rev. 2135 (current stable) with FT2Plugin which makes all tests green on Pharo 1.0 rc3 image........ on my machine :)
If some Linux users can test it on their distro, thanks.
The clean binary archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz
The generated source archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz
PharoCore-1.0 + configured VMMaker 1.2 image (for new vm builders, to have a known working base): http://lolgzs.free.fr/pharo/squeak-vm/PharoCore-1.0-VMMaker-1.2.tar.gz
To build from source archive: ======================= wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure make sudo make install
Internal plugins: ====================== UUIDPlugin
External plugins: ====================== ADPCMCodecPlugin AioPlugin AsynchFilePlugin B2DPlugin B3DAcceleratorPlugin BMPReadWriterPlugin BitBltPlugin CroquetPlugin DSAPrims DropPlugin FFTPlugin FT2Plugin FileCopyPlugin FilePlugin FloatArrayPlugin FloatMathPlugin GeniePlugin HostWindowPlugin JPEGReadWriter2Plugin JPEGReaderPlugin JoystickTabletPlugin Klatt LargeIntegers LocalePlugin MIDIPlugin Matrix2x3Plugin MiscPrimitivePlugin Mpeg3Plugin QuicktimePlugin RePlugin SecurityPlugin SerialPlugin SocketPlugin SoundCodecPrims SoundGenerationPlugin SoundPlugin Squeak3D SqueakFFIPrims StarSqueakPlugin SurfacePlugin UnixOSProcessPlugin XDisplayControlPlugin ZipPlugin
Fun story: if you don't have SecurityPlugin, LocaleTest>>testFontFullName deletes your image :) testFontFullName "self debug: #testFontFullName" | env dir | env := (Locale isoLanguage: 'ja') languageEnvironment. dir := FileDirectory on: SecurityManager default untrustedUserDirectory. [dir recursiveDelete] <-------------- Cool !! on: Error do: [:e | e]. env fontFullName. self assert: dir exists
Cheers,
Laurent Laffont _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
I've tried to put XDisplayControlPluggin as internal but it fails. After some search: http://wiki.squeak.org/squeak/3350 Laurent Laffont On Tue, Mar 30, 2010 at 8:43 PM, Levente Uzonyi <leves@elte.hu> wrote:
On Tue, 30 Mar 2010, Adrian Lienhard wrote:
Hi Laurent,
Here a problem report concerning your VM ( http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz) from a Ubuntu 64bit user.
His machine:
(k)ubuntu karmic x64 Linux toat 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 04:38:19 UTC 2010 x86_64 GNU/Linux Pulseaudio: 1:0.9.19-0ubuntu4.1 Intel(R) Core(TM) i7 CPU, 950 @ 3.07GHz
The first problem he had was that the VM segfaulted. He then disabled psdsp in the startup script. This fixed the crash and sound worked (Beeper beep).
His tinyBenchmark results are:
582811610 bytecodes/sec; 15102233 sends/sec 562946673 bytecodes/sec; 16346261 sends/sec 583475783 bytecodes/sec; 16404381 sends/sec 589522164 bytecodes/sec; 16288551 sends/sec 570791527 bytecodes/sec; 16389812 sends/sec 527835051 bytecodes/sec; 14646769 sends/sec 590201729 bytecodes/sec; 16288551 sends/sec 586483390 bytecodes/sec; 16231248 sends/sec 590542099 bytecodes/sec; 16259849 sends/sec 542085759 bytecodes/sec; 14763943 sends/sec
...compared to a 3.9-8 #1 Tue Jan 13 16:33:40 UTC 2009 gcc 4.3.3 VM:
580828133 bytecodes/sec; 18995358 sends/sec 539515279 bytecodes/sec; 17677135 sends/sec 552617377 bytecodes/sec; 17865371 sends/sec 588167719 bytecodes/sec; 19129213 sends/sec 579185520 bytecodes/sec; 18947146 sends/sec 585812356 bytecodes/sec; 16785105 sends/sec 545551411 bytecodes/sec; 18164300 sends/sec 577226606 bytecodes/sec; 19227754 sends/sec 587155963 bytecodes/sec; 19080321 sends/sec 580498866 bytecodes/sec; 18815817 sends/sec
The new VM is slower on sends/sec, but the really astonishing difference is not in the benchmarks but in the GUI performance. It is really slow. Just moving the mouse around on an empty world makes CPU consumption go up to over 70%! He didn't experience this problem with the old 3.9-8 VM.
That's probably because Laurent built almost every plugin as external. These include those which are responsible for displaying stuff on the screen.
Levente
Cheers, Adrian
On Mar 26, 2010, at 22:11 , laurent laffont wrote:
Hi,
Finally I've managed to build squeak vm rev. 2135 (current stable) with FT2Plugin which makes all tests green on Pharo 1.0 rc3 image........ on my machine :)
If some Linux users can test it on their distro, thanks.
The clean binary archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-bin.tar.gz
The generated source archive: http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz
PharoCore-1.0 + configured VMMaker 1.2 image (for new vm builders, to have a known working base): http://lolgzs.free.fr/pharo/squeak-vm/PharoCore-1.0-VMMaker-1.2.tar.gz
To build from source archive: ======================= wget http://lolgzs.free.fr/pharo/squeak-vm/Squeak-3.11.3.2135-pharo-src.tar.gz tar -xvzf Squeak-3.11.3.2135-pharo-src.tar.gz cd Squeak-3.11.3.2135-pharo-src/ mkdir build && cd build ../unix/cmake/configure make sudo make install
Internal plugins: ====================== UUIDPlugin
External plugins: ====================== ADPCMCodecPlugin AioPlugin AsynchFilePlugin B2DPlugin B3DAcceleratorPlugin BMPReadWriterPlugin BitBltPlugin CroquetPlugin DSAPrims DropPlugin FFTPlugin FT2Plugin FileCopyPlugin FilePlugin FloatArrayPlugin FloatMathPlugin GeniePlugin HostWindowPlugin JPEGReadWriter2Plugin JPEGReaderPlugin JoystickTabletPlugin Klatt LargeIntegers LocalePlugin MIDIPlugin Matrix2x3Plugin MiscPrimitivePlugin Mpeg3Plugin QuicktimePlugin RePlugin SecurityPlugin SerialPlugin SocketPlugin SoundCodecPrims SoundGenerationPlugin SoundPlugin Squeak3D SqueakFFIPrims StarSqueakPlugin SurfacePlugin UnixOSProcessPlugin XDisplayControlPlugin ZipPlugin
Fun story: if you don't have SecurityPlugin, LocaleTest>>testFontFullName deletes your image :) testFontFullName "self debug: #testFontFullName" | env dir | env := (Locale isoLanguage: 'ja') languageEnvironment. dir := FileDirectory on: SecurityManager default untrustedUserDirectory. [dir recursiveDelete] <-------------- Cool !! on: Error do: [:e | e]. env fontFullName. self assert: dir exists
Cheers,
Laurent Laffont _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On 2010-03-30, at 11:43 AM, Levente Uzonyi wrote:
That's probably because Laurent built almost every plugin as external. These include those which are responsible for displaying stuff on the screen.
Um, mmmm Once we find and load the plugin we cache the entry point so later references don't incur much of a cost. Maybe there is no compiler optimization in the compile for the external plugin? -- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
On Tue, 2010-03-30 at 14:01 -0700, John M McIntosh wrote:
On 2010-03-30, at 11:43 AM, Levente Uzonyi wrote:
That's probably because Laurent built almost every plugin as external. These include those which are responsible for displaying stuff on the screen.
Um, mmmm Once we find and load the plugin we cache the entry point so later references don't incur much of a cost. Maybe there is no compiler optimization in the compile for the external plugin?
I'd be surprised if building plugins as external is the cause of the problem as that's standard practice for Unix VMs. Ian does it for his and I followed his lead with the Exupery VMs. Bryce
On Tue, 30 Mar 2010, Bryce Kampjes wrote:
On Tue, 2010-03-30 at 14:01 -0700, John M McIntosh wrote:
On 2010-03-30, at 11:43 AM, Levente Uzonyi wrote:
That's probably because Laurent built almost every plugin as external. These include those which are responsible for displaying stuff on the screen.
Um, mmmm Once we find and load the plugin we cache the entry point so later references don't incur much of a cost. Maybe there is no compiler optimization in the compile for the external plugin?
I'd be surprised if building plugins as external is the cause of the problem as that's standard practice for Unix VMs. Ian does it for his and I followed his lead with the Exupery VMs.
Building most plugins external is a good idea, but I doubt that building plugins which are loaded all the time have any benefits. I used to build at least these as internal, the others are usually external: BitBltPlugin, FilePlugin, FloatArrayPlugin, FloatMathPlugin, LargeIntegers, LocalePlugin, Martix2x3Plugin, MiscPrimitivePlugin, SecurityPlugin, SocketPlugin. I guess all but SocketPlugin, will be loaded during startup. And I'm not saying that building plugins as external cause the low values for tinyBenchmarks, but they may be responsible for the sluggish UI. Levente
Bryce
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
participants (15)
-
Adrian Lienhard -
Alain Plantec -
Andreas Raab -
Bryce Kampjes -
Henrik Johansen -
Javier Pimás -
John M McIntosh -
laurent laffont -
Levente Uzonyi -
Mariano Martinez Peck -
Michael Rueger -
Miguel Enrique Cobá Martinez -
Schwab,Wilhelm K -
Serge Stinckwich -
Stéphane Ducasse