Re: Revamping the build system

2001-11-14 Thread Alan Burlison
> autoconf automake libtool Has anyone said 'Jam' on this thread yet? Jam is a platform-independent make replacement, see http://www.perforce.com/jam/jam.html -- Alan Burlison -- $ head -1 /dev/bollocks build high-visibility pervasive knowledge capital

Re: Butt-ugliness reduction

2001-11-17 Thread Alan Burlison
ar\n"); prints out "FOO | BAR" This is a really useful feature because it means that you don't need huge lookup tables to convert from the numeric to the string version of a constant - it is both at the same time. -- Alan Burlison -- $ head -1 /dev/bollocks immutably engage omnipresent server-centric drivers

Re: Butt-ugliness reduction

2001-11-19 Thread Alan Burlison
ring :-) Oops - so you were. Soz! -- Alan Burlison -- $ head -1 /dev/bollocks visioneer 24/365 niches

Re: Size of integer register vs sizeof(void *)

2001-11-19 Thread Alan Burlison
s... Yes, all platforms that support LP64, i.e. virtually all 64-bit address space platforms. Sparc is just one example. -- Alan Burlison -- $ head -1 /dev/bollocks refactor service-led meta-services, going forwards

Re: SV: Parrot multithreading?

2001-09-28 Thread Alan Burlison
in parrot?' > It is also slow, and speed is priority #1. As far as I'm aware, trading correctness for speed is not an option. -- Alan Burlison -- $ head -1 /dev/bollocks effectively incubate innovative network infrastructures

Re: SV: Parrot multithreading?

2001-09-28 Thread Alan Burlison
d CV garbage collector. -- Alan Burlison -- $ head -1 /dev/bollocks systematically coordinate e-business transactional integrity

Re: This week's summary

2003-06-30 Thread Alan Burlison
ker, but that looks *very* suspect to me. Some compilers may choose to reorder even without optimization turned on. I'd say that it is a bug in Parrot if it requires optimization to be off for this code - how many different compilers have you tried? -- Alan Burlison --

Re: This week's summary

2003-06-30 Thread Alan Burlison
kes assumptions about execution order without using the necessary mutexes/cvs to enforce these assumptions, it is very unlikely to work on large SMP machines, for example. -- Alan Burlison --

Re: This week's summary

2003-07-02 Thread Alan Burlison
nals during the queue operations, take out the lock, do the work, drop the lock then reenable signals. -- Alan Burlison --

Re: This week's summary

2003-07-03 Thread Alan Burlison
r to re-modify | them just corrupts them. | | Now, if there is a lock that is acquired *only* while in a signal | handler, then it is sufficient to block all signals while in the signal | handler (and this can be accomplished with no additional overhead by | doing sigfillset(&action.sa_mask) before using 'action' to set up | the signal handler). Hope that helps, -- Alan Burlison --

Re: This week's summary

2003-07-03 Thread Alan Burlison
Dan Sugalski wrote: The more I think about this the more I want to punt on the whole idea. Cross-platform async IO is just one big swamp. Agreed. Glug, glug, glug ;-) -- Alan Burlison --

Re: async i/o (was Re: This week's summary)

2003-07-03 Thread Alan Burlison
to dry deserts and make them safe for camel caravans. :) I'll be at yapc::eu -- Alan Burlison --

Re: inline mania

2000-08-01 Thread Alan Burlison
;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. Alan Burlison

Re: inline mania

2000-08-01 Thread Alan Burlison
be used to provide a working > Perl5 -> Perl6 migration path. I'm not saying it was. However I don't see how the proposal would aid the migration - after all what he is writing will be neither perl5 nor perl6. Alan Burlison

Re: Nick's performance theory - was "inline mania"

2000-08-01 Thread Alan Burlison
t Pentium at least follows > same pattern. It does. However my understanding Pentium stops the pipeline if it has to do a TLB walk, which it then does in hardware. This mitigates the effect of the TLB miss somewhat. Alan Burlison

Re: inline mania

2000-08-01 Thread Alan Burlison
n, as you intend doing it all yourself. > > I'm not saying it was. However I don't see how the proposal would aid > > the migration - after all what he is writing will be neither perl5 nor > > perl6. > > I am not "writing". I am "transforming&qu

Feature request: Relocatable perl

2000-08-02 Thread Alan Burlison
odules and shared objects/DLLs. Alan Burlison

Re: Feature request: Relocatable perl

2000-08-02 Thread Alan Burlison
rable to the currently used horrible hacks involving either LD_LIBRARY_PATH or greping and patching the executable. -- Alan Burlison

Re: Feature request: Relocatable perl

2000-08-02 Thread Alan Burlison
Graham Barr wrote: > It is not just libraries, but also the perl @INC that needs to > be dynamic Yes, but that seems a bit more tractable - surely we could fiddle with @INC based on the location of the perl interpreter? -- Alan Burlison Solaris Kernel Development, Sun Microsystems

Re: Feature request: Relocatable perl

2000-08-02 Thread Alan Burlison
John Tobey wrote: > Both Windows and Linux can swing this, too. I believe linux (GNU > Libc, to be precise) uses $ORIGIN in a Solaris-compatible way. So I've just been told by our linker expert. Nice to have it confirmed though. -- Alan Burlison

Re: type-checking [Was: What is Perl?]

2000-08-01 Thread Alan Burlison
more benefit than avoiding a few inline bit twiddles. I think a range of alternative implementation mechanisms needs to be benchmarked very carefully on a range of architectures before making a choice. The one thing that is certain about cache behaviour is that it is very difficult to predict without actually trying stuff out. Alan Burlison

Splitting core functions into multiple shared objects: A warning

2000-08-26 Thread Alan Burlison
ome bits of the core so that they don't depend on anything else, but I'm far from persuaded the overall benefit will be worth the extra complications. Alan Burlison

Re: RFC 146 (v1) Remove socket functions from core

2000-08-26 Thread Alan Burlison
piped in on stdin, it might mean a few milliseconds shaved off > startup. You already have this win: # Force symbol resolution on startup $ LD_BIND_NOW=1 ptime perl -e 'exit(0)' real0.029 user0.021 sys 0.007 # Default lazy linking $ ptime perl -e 'exit(0)' real0.019 user0.010 sys 0.007 Alan Burlison

Re: RFC 146 (v1) Remove socket functions from core

2000-08-26 Thread Alan Burlison
ow some bits of a .so may not be shared, but most of it is). Paging involves disks, and they are orders of magnitude slower than the dynamic linking overhead. Repeat the excercise with a couple of hundred concurrent copies of your test. Drawing conclusions based on a single test can be misleading. -- Alan Burlison

Re: RFC 178 (v2) Lightweight Threads

2000-09-07 Thread Alan Burlison
of joint, but it is true. Doesn't it occur to people that if it was easy to add automatic locking to a threaded language it would have been done long ago? Although I've seen some pretty whacky Perl6 RFCs, I've yet to see one that says 'Perl6 should be a major Computer Science research project'. -- Alan Burlison

Re: RFC 178 (v2) Lightweight Threads

2000-09-07 Thread Alan Burlison
be utterly useless. And, how on earth will you identify sections that "only operate on internal data"? -- Alan Burlison

Re: RFC 178 (v2) Lightweight Threads

2000-09-07 Thread Alan Burlison
This will however require that different threads are allowed to have different optrees - perhaps some sort of 'copy on write' semantic should be used so that optrees can be shared cheaply for the cases where no changes are made to it. Alan Burlison

Re: RFC 178 (v2) Lightweight Threads

2000-09-07 Thread Alan Burlison
ild a seperate optree for each module as it is loaded, and for each thread/interpreter to hold a reference to the ones that it uses. This way the optrees could remain readonly, but still be shared if required and safe to do so. If no extant threads refer to the optree, it could perhaps be freed - sort of reference-counted optrees. I'm winging it a bit here becasue I don't know if this is a good idea/vaguely possible/barking mad (choose one). -- Alan Burlison

Re: RFC 178 (v2) Lightweight Threads

2000-09-07 Thread Alan Burlison
is a fools errand. It is about as sensible as removing BLOCKS and getting perl to guess where they should go. -- Alan Burlison

Re: RFC 178 (v2) Lightweight Threads

2000-09-07 Thread Alan Burlison
ue :shared; > push(@queue, $b); Again, all of these would have to be OK in an interpreter that ensured internal consistency. The trouble is if you want to update both $a, %h and @queue in an atomic fashion - then the application programmer MUST state his intent to the interpreter by providing explicit locking around the 3 updates. -- Alan Burlison

Re: RFC 178 (v2) Lightweight Threads

2000-09-07 Thread Alan Burlison
non-trivial problem that may best be solved by keeping the entirety of such modules private to a single thread. In that case the optree might also have to be private, and with that and private work area it looks very much like a full interpreter to me. -- Alan Burlison

Re: RFC 178 (v2) Lightweight Threads

2000-09-07 Thread Alan Burlison
please sumbit an RFC entitled "Why perl6 should automatically fix all the broken programs out there and how I suggest it should be done". Then you can sit back and wait for the phonecall from Stockholm ;-) -- Alan Burlison

Re: RFC 178 (v2) Lightweight Threads

2000-09-08 Thread Alan Burlison
controlled by the > programmer. Exactly. The intention behind the proposal to do auto-locking is praiseworth - to make the programmers life easier. However, the suggested solution is more akin to killing him with kindness. -- Alan Burlison

Re: RFC 178 (v2) Lightweight Threads

2000-09-08 Thread Alan Burlison
nd to allow this, how will you know when to stop chasing references? What happens if there are circular references? How much time do you think it will take to scan a 4Gb array to find out which elements need to be checkpointed? Please consider carefully the potential consequences of your proposal

Re: RFC 178 (v2) Lightweight Threads

2000-09-08 Thread Alan Burlison
ddressed the issue of what constitutes and atomic operation. > I think we all would agree that an op is atomic. +, op=, push, delete > exists, etc. Yes? Sorry - no I don't agree. As I said, what about map or grep, or sort? I have an alternative proposal - anything that can be the target of a tie is atomic, i.e. for scalars, STORE, FETCH, and DESTROY etc. -- Alan Burlison

Re: RFC 178 (v2) Lightweight Threads

2000-09-08 Thread Alan Burlison
he change could not have taken > place without an exclusive lock on the variable.) > > Then the execution stack and program counter would be reset to the > checkpoint. And then restarted. Sigh. Think about references. No, think harder. See? -- Alan Burlison

Re: RFC 178 (v2) Lightweight Threads

2000-09-10 Thread Alan Burlison
t unsubscribe. It's doomed. Alan Burlison

Re: Proposal for groups

2000-12-03 Thread Alan Burlison
Simon, which I think is a really, really useful thing - you can use it to get the essence of what went on and why, and then drill down to the meat if you need to. Alan Burlison

Re: Proposal for groups

2000-12-05 Thread Alan Burlison
s generated by writing a DTD for the spec and then transforming the document into the frameset and html files. That would be the obvious way to do it. That way when writing the document the commentary could be kept inline, which would make it much easier for the author. Alan Burlison

Re: Proposal for groups

2000-12-05 Thread Alan Burlison
Nathan Torkington wrote: > Alan Burlison writes: > > seem a very optimal way to go about it. How about a design document > > (format to be decided) and a 'design + commentary' document which is the > > design document with the condensed email discussion inserte

Re: Proposal for groups

2000-12-05 Thread Alan Burlison
cursing/hacking/cursing cycle on the existing POD tools. Do we really want to continue? Personally I think POD sucks bigtime, although I'm sure hordes of people will now spring up to defend it. I still think that with the correct DTD writing the specs in XML would be doable. Alan Burlison

Re: Proposal for groups

2000-12-05 Thread Alan Burlison
y sense to tag the various bits. Alan Burlison

Re: Markup wars (was Re: Proposal for groups)

2000-12-07 Thread Alan Burlison
from being one character shorter, that is. However, having previously been told to shut up on this subject, I now will. Alan Burlison

AIO and threads - my prejudices

2001-01-09 Thread Alan Burlison
n of apps are MT vs AIO, and which is most likely to be available, well tested and well supported? Alan Burlison

Re: Does perl really need to use sigsetjmp? (18% performance hit)

2001-01-21 Thread Alan Burlison
> But the short answer (while it may suffice for perl6) is no use to me > as a perl5 maintainer. Well, we all have our particular crosses to bear ;-) At the risk of being boring: Threads in perl5 are irredeemably broken and should not be used. Alan Burlison

Re: Does perl really need to use sigsetjmp? (18% performancehit)

2001-01-21 Thread Alan Burlison
is is the smallest safe set > of things we can do, and I'm reasonably sure that everything else anyone > might want can be layered on top, albeit slowly in some cases. A very sound strategy IMHO. Alan Burlison

Re: Does perl really need to use sigsetjmp? (18%performancehit)

2001-01-21 Thread Alan Burlison
-- thread# 3 ff35d6e4 _reap_wait (ff382a50, 20bf8, 0, ff37e000, 0, 0) + 38 ff35d43c _reaper (ff37ee80, ff3847b0, ff382a50, ff37ee58, 1, fe40) + 38 ff36b4a0 _thread_start (0, 0, 0, 0, 0, 0) + 40 Alan Burlison

Re: Does perl really need to use sigsetjmp? (18%performancehit)

2001-01-22 Thread Alan Burlison
easier than faking threads. so we code all the internals to an > event loop api and fake it underneath as needed on various > platforms. much more on this soon. As Jarkko would say: Yes, yes yes. :-) Alan Burlison

Re: PDD 2, vtables

2001-02-06 Thread Alan Burlison
Branden wrote: > Where can I find how Perl5's stack works (specially about parameter passing > and returning from subs)? Oh boy. What a masochist. ;-) Alan Burlison

Re: yydestruct leaks

2001-02-07 Thread Alan Burlison
cted regime - even with this restriction, and with the bugs I've already fixed the test suite contains 141 memory errors. The truth of the matter is that I suspect eval and die will always leak until it is re-architected in perl6 - whenever that might be. Alan Burlison

Re: GC: what is better, reuse or avoid cloning?

2001-02-10 Thread Alan Burlison
Branden wrote: > Any suggestions? Yes, but none of them polite. You might do well to study the way perl5 handles these issues. Alan Burlison

Re: Garbage collection (was Re: JWZ on s/Java/Perl/)

2001-02-15 Thread Alan Burlison
t;bar\n"; } At present "file" will contain "foo\nbar\n". Without DF it could just as well be "bar\nfoo\n". Make no mistake, this is a major change to the semantics of perl. Alan Burlison

Re: Garbage collection (was Re: JWZ on s/Java/Perl/)

2001-02-15 Thread Alan Burlison
slate situation. We may well have to deliberately carry over questionable but depended-upon behaviour into perl6. my $fh = do { local *FH; *FH; } for example, better continue to work. Alan Burlison

Re: Garbage collection (was Re: JWZ on s/Java/Perl/)

2001-02-15 Thread Alan Burlison
scheme will require the heay use of mutexes in a MT program. Alan Burlison

Re: PDD 2, vtables

2001-02-18 Thread Alan Burlison
't be freed and re-malloced much. If we're passing in a PMC > pointer, we won't be reallocating the memory pointed to--rather we'll be > reusing it. So how do you get hold of a PMC from the arena in the first place? Alan Burlison

Re: Generating Perl 6 source with Perl

2001-02-18 Thread Alan Burlison
hink macro languages suck, whether they are the C macro preprocessor, or some fancy dohickey that we knock together. I think that having to have perl5 around to build perl6 also sucks. For example, in our case we build perl5 every night with the rest of Solaris. It already takes too long. Adding a build of perl5 just to build perl6 - well, forget it. Alan Burlison

Re: PDD 2, vtables

2001-02-18 Thread Alan Burlison
Dan Sugalski wrote: > Grab one via a utility function. getPMC() or something of the sort. newPMC() ? ;-) Alan Burlison

Re: C Garbage collector

2001-02-20 Thread Alan Burlison
Alan Burlison wrote: > I've attached the HTML Well it was there when I sent it... does this list strip attachments or something? Here is is as badly-formatted text - sorry! Alan Burlison Appendix A: How Sun WorkShop Memory Monitor Works Memory management in C/C++ is both time c

C Garbage collector

2001-02-20 Thread Alan Burlison
only works with the Sun compilers. However, there is an explanation of how it works that might be useful when considering how to do this for perl6. I've attached the HTML - sorry about the broken links, but I don't think this is on any externally-visible webpage. Alan Burlison

Re: Just in case you were wondering if alignment matters...

2001-04-17 Thread Alan Burlison
Uri Guttman wrote: > malloc normally doesn't care about alignment. I'll think you will find it does care. Alan Burlison

Re: PDD: Conventions and Guidelines for Perl Source Code

2001-05-08 Thread Alan Burlison
I see nothing about namespacing, e.g. Perl_ Alan Burlison

Re: PDD: Conventions and Guidelines for Perl Source Code

2001-05-10 Thread Alan Burlison
Dave Mitchell wrote: > > All entities should be prefixed with the name of the subsystem they appear > in, eg C, C. They should be further prefixed > with the word 'perl' if they have external visibility or linkage, > Duh! Missed it. Thanks. Alan Burlison

Re: PDD: Conventions and Guidelines for Perl Source Code

2001-05-10 Thread Alan Burlison
straction is a laudable aim, in the case of perl it has turned from abstraction into obfustification. Alan Burlison

Re: Stacks & registers

2001-05-23 Thread Alan Burlison
ters. Not a system call but a trap - they aren't the same thing (pedant mode off ;-). The register spill trap handler copies the relevant registers onto the stack - each stack frame has space allocated for this. Alan Burlison

Re: Stacks & registers

2001-05-23 Thread Alan Burlison
tem has real registers, it's just at some point they may end up in memory. That's not the same as indexing into memory on every access. Alan Burlison