Re: [PATCH] trivial patch to mandelbrot.pir to make it comply like it should have in the first place :(
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Dec 22, 2005, at 3:17 PM, peter baylies wrote: Short version: uncomment lines 86-87, patch follows. I was hoping I wouldn't need them, but I was wrong. This has been tested, and should produce the correct output now. --- mandelbrot.pir 2005-12-22 11:51:15.0 -0500 +++ mandelbrot-new.pir 2005-12-22 11:51:07.0 -0500 Committed, thanks. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (Darwin) iD8DBQFDq1hQzGDdrzfvUpURAuA7AKCDb0j3Jb91cPm5den2mWlKxYjw7QCghWhw 5BWRqVgwEguZ2wjVwxBerIQ= =9P0L -END PGP SIGNATURE-
Shootout Updates Posted
FYI, the revised shootout updates are on the site: http://shootout.alioth.debian.org/sandbox/benchmark.php?test=alllang=parrot Performance seems much better with the interpreter flags suggested. Please let me know if you notice any problems.
Re: Parrot Shootout
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Dec 11, 2005, at 2:07 PM, Leopold Toetsch wrote: On Dec 11, 2005, at 22:25, Leopold Toetsch wrote: ./parrot -C ack.pir4.9s ./parrot -C binarytrees.pir 1659.1s And another f'up me: should we collect these shootout benchmarks in a separate directory, with tests attached (with reduced N aka reduced runtime)? Are there plans to submit these tests? leo Well, to be honest I've been adding them as you've posted them here or to SVN. If anyone objects to this, please let me know and I'll remove them immediately. I assume you are okay with them being posted to the shootout website under a BSD-style license. Thanks, - -Brent P.S. If you want to see how things look, please visit http:// shootout.alioth.debian.org/sandbox/parrot.php -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (Darwin) iD8DBQFDnTT9zGDdrzfvUpURAjkxAJ97dnUHNqbDh/JOSWuzqZkO1ZUOnQCeJN5G qCavfT3O7kQCZFYosiwG/68= =Cuk3 -END PGP SIGNATURE-
Re: Parrot Shootout
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Dec 12, 2005, at 12:23 PM, Leopold Toetsch wrote: On Dec 8, 2005, at 6:53, Brent Fulgham wrote: Let the games begin! Another one: examples/shootout/pidigits.pir The formatting on this is off. It looks like it's generating the sequence of digits, but it needs to be split into individual lines (see the Perl example program): http://shootout.alioth.debian.org/ sandbox/benchmark.php?test=pidigitslang=perlid=0 Thanks, - -Brent -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (Darwin) iD8DBQFDnlRAzGDdrzfvUpURAiRdAJ9Dn5gVxmeuyb6cA0d2Mm8X3a/dwQCdFGOu kQn1VNM44oPyNUVsbmsn4x0= =8yxe -END PGP SIGNATURE-
Re: More shootout, two randoms
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Dec 12, 2005, at 12:55 PM, Joshua Isom wrote: Because the random benchmark is used for a few other tests, I figured I'd do it next. To do it the same way in pir is slow because it requires putting a variable into a global register and retrieving it 900,000 times. I have three versions written up. One that's split over two files, with one file including main, and the other including an init section and the actual needed sub. Another that's the same but just one file, but a tad uglier to me(7 extra lines just for error checking). And the final cream of the crop(i.e. about twice as fast as the pir), a pasm version, which takes advantage of the fact that the registers stay the same the whole time unless modified. Could you supply a single-file version with everything in it, along with your include versions? Both *.pir versions require the radom_lib.pir file to compile and run. I'll put the single-file version in the random benchmark, and add the random_lib file to a new parrot includes directory for common sources, as I do for other langages. Is it sufficient to supply a path to the Parrot compiler for it to find necessary libraries? Thanks, - -Brent -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (Darwin) iD8DBQFDnmLpzGDdrzfvUpURAmiDAJ0WpknhlfZAhp/B561yYboP3COYjgCeNAGW 6jm2IiVKGCy6EFy2tqUv4ZU= =ywAv -END PGP SIGNATURE-
Re: Mac OS X Build Errors (0.4.0)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Dec 9, 2005, at 12:26 AM, chromatic wrote: Can a standard search path (e.g., DarwinPorts typical /opt/local/lib) be included in parrots compile, or do I need to pass something to the parrot interpreter at runtime? As I read the code, this all happens at runtime (see runtime/parrot/library/SDL.imc) -- the loadlib op there (eventually) calls dlopen() on your platform. Whatever you have to do on Mac OS X to identify paths to dynamically loadable libraries, you probably have to do that. If I were to guess, I would check the value of the LD_LIBRARY_PATH environment variable. I think the problem is the weird distinction Mac OS X (Mach Kernel) makes between shared libraries and dynamic modules. I have the shared library (*.dylib) and the static libraries, but no loadable *.so modules. So this may just be an SDL install problem. It could be that Parrot doesn't add the '.dylib' extension where it should, but my first guess is to see if dlopen() can find the library appropriately. Can you think of any other loadable modules that Parrot builds by default -- something that should be in a known state after a successful build? ICU or something perhaps? That would allow me to see if this is a problem across all module loads, or just something unique to my install of SDL. Thanks, - -Brent P.S. Congratulations on your new book. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (Darwin) iD8DBQFDm7ljzGDdrzfvUpURAoh6AJ9mtfTvi0bP4GKGvyaxHbYMUmqlQACfTria co5EL8nWZyr9f7VHHF1VlSg= =jwxF -END PGP SIGNATURE-
Re: Mac OS X Build Errors (0.4.0)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Do I need to pass compiler options to get SDL support? When I try to use the tests in the examples directory, it can't seem to find my SDL libraries and so forth. Can a standard search path (e.g., DarwinPorts typical /opt/local/lib) be included in parrots compile, or do I need to pass something to the parrot interpreter at runtime? Thanks, - -Brent -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (Darwin) iD8DBQFDmTt4zGDdrzfvUpURAjfmAJ0WY357CwicSQJksFFdbrvd6LeBkwCeIsqH TWyc7btndyN12hHcU9qeNks= =hLeg -END PGP SIGNATURE-
Re: Mac OS X Build Errors (0.4.0)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On Dec 8, 2005, at 1:27 AM, Leopold Toetsch wrote: On Dec 8, 2005, at 6:57, Brent Fulgham wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 In addition to the shootout machine, I have a main development box that runs Mac OS X (PowerPC). I attempted to build Parrot 0.4.0 on this machine and encountered errors. The mailing list archive seems to be down at the moment, so I could not check for others with this issue. Is this a known problem? I am using the XCode tools 2.2, which means basically a gcc 4.0 compiler. src/inter_call.c:637: error: conflicting types for 'parrot_pass_args' /opt/local/include/parrot/inter_call.h:78: error: previous declaration of 'parrot_pass_args' was here Looks like that include/parrot from an installed Parrot is used instead the one in the src tree. What do you get after 'make'? Here are my settings from the darwin box: $ make Compiling with: xx.c cc -g -pipe -pipe -fno-common -no-cpp-precomp -I/usr/local/include - pipe -fno-common -Wno-long-double -g -Wall -Wstrict-prototypes - Wmissing-prototypes -Winline -Wpointer-arith -Wcast-qual -Wcast- align -Wwrite-strings -Waggregate-return -Winline -W -Wno-unused - Wsign-compare -Wformat-nonliteral -Wformat-security -Wpacked - Wdisabled-optimization -falign-functions=16 -Wno-shadow -I./include -DHAS_JIT -DPPC -DHAVE_COMPUTED_GOTO -I. -o xx.o -c xx.c Well, having the includes -I./include at the end could be dangerous I presume. You are right -- I still had parrot-0.3.1 installed when I attempted to build this version. Should it be necessary to uninstall your existing version to update? Thanks -- everything works great now. - -Brent -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (Darwin) iD8DBQFDmTEfzGDdrzfvUpURAhjHAKCXGimWdIWWU/50aF54XhlNNmbyjACgro+Y NByDJVeOWQEtP+6QQQ57Xig= =e2sP -END PGP SIGNATURE-
Parrot Shootout
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi, A long while back someone made a request for people to create parrot implementations of the shootout tests on Alioth (http:// shootout.alioth.debian.org). I wanted to let you know that I have updated the shootout build machine with parrot (0.3.1) and can start running tests if any exist. Please let me know off-list, or use the project tracker (e.g., https://alioth.debian.org/tracker/? func=addgroup_id=30402atid=411646) to add a tarball with the tests Let the games begin! Thanks, - - -Brent -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.2 (Darwin) iD8DBQFDl8pqzGDdrzfvUpURAmjHAJ9L16EATSUQiIzhQrCZldzetmQimwCfVeRV MgciumZq8eyJ13xThOlOri8= =p+UA -END PGP SIGNATURE-
Mac OS X Build Errors (0.4.0)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 In addition to the shootout machine, I have a main development box that runs Mac OS X (PowerPC). I attempted to build Parrot 0.4.0 on this machine and encountered errors. The mailing list archive seems to be down at the moment, so I could not check for others with this issue. Is this a known problem? I am using the XCode tools 2.2, which means basically a gcc 4.0 compiler. Thanks, - -Brent Error Log: src/inter_call.c: At top level: src/inter_call.c:637: error: conflicting types for 'parrot_pass_args' /opt/local/include/parrot/inter_call.h:78: error: previous declaration of 'parrot_pass_args' was here src/inter_call.c: In function 'parrot_pass_args': src/inter_call.c:678: error: 'PARROT_ERRORS_RESULT_COUNT_FLAG' undeclared (first use in this function) src/inter_call.c:678: error: (Each undeclared identifier is reported only once src/inter_call.c:678: error: for each function it appears in.) src/inter_call.c:681: error: 'PARROT_ERRORS_PARAM_COUNT_FLAG' undeclared (first use in this function) src/inter_call.c: At top level: src/inter_call.c:788: error: conflicting types for 'set_retval' /opt/local/include/parrot/inter_call.h:84: error: previous declaration of 'set_retval' was here src/inter_call.c:822: error: conflicting types for 'set_retval_i' /opt/local/include/parrot/inter_call.h:86: error: previous declaration of 'set_retval_i' was here src/inter_call.c:850: error: conflicting types for 'set_retval_f' /opt/local/include/parrot/inter_call.h:82: error: previous declaration of 'set_retval_f' was here make: *** [src/inter_call.o] Error 1 Configuration: Checking MANIFEST.done. Setting up Configure's default values.done. Tweaking settings for miniparrot..done. Loading platform and local hints filesdone. Determining nongenerated header files.done. Determining what C compiler and linker to use.done. Determining whether make is installed..yes. Determining whether lex is installed...skipped. Determining whether yacc is installed..skipped. Determining if your C compiler is actually gcc.yes. Enabling optimization.done. Determining flags for building shared libraries...done. Determining what charset files should be compiled in..done. Determining what encoding files should be compiled in.done. Determining what types Parrot should use..done. Determining what opcode files should be compiled in...done. Setting up experimental systems...done. Determining what pmc files should be compiled in..done. Determining your minimum pointer alignment. 1 byte. Probing for C headers.done. Determining some sizesdone. Computing native byteorder for Parrot's wordsizebig- endian. Test the type of va_ptr (this test is likely to segfault)..x86. Figuring out how to pack() Parrot's types.done. Figuring out what formats should be used for sprintf..done. Determining if your C library has a working S_ISREGyes. Determining architecture, OS and JIT capability...done. Running CPU specific stuffdone. Verifying that the compiler supports function pointer castsyes. Determining whether your compiler supports computed goto...yes. Determining if your compiler supports inline...yes. Determining what allocator to use.done. Determining if your C library supports memalign...done. Determining some signal stuff.done. Determining if your C library has setenv / unsetenv...both. Determining if your platform supports AIO...no. Determining if your platform supports GMP..yes. Determining if your platform supports gdbm.yes. Testing snprintf .done. Determining whether perldoc is installed...yes. Determining whether python is installed.yes, 2.4.1. Determining whether antlr is installed..no. Determining whether GNU bc is
RE: inline mania
Alan Burlison wrote: John Tobey wrote: 1 November 2000 - Perl6 alpha in C++ that uses classes derived from PerlInterpreter and SV everywhere in place of these types, a la Pickle, but with inline methods that use Perl 5's internal API. I think there is an undiscussed assumption about the implementation language in there somewhere... I think you may have missed the context of the message. John was talking about creating his Alpha using various existing projects that had already been done in C++. [ ... snip ... ] We've been down that path already - Topaz. With all due respect this is supposed to be a community rewrite. Your proposal doesn't seem to be along those lines. With all due respect, I think you may be taking this out of context. I don't believe John's intent was to hijack the process. He was outling a theoretical schedule that could be used to provide a working Perl5 - Perl6 migration path. Regards, -Brent