13,957 research outputs found

    Reducing the Cost of Object Boxing

    Full text link

    Continuation-Passing C: compiling threads to events through continuations

    Get PDF
    In this paper, we introduce Continuation Passing C (CPC), a programming language for concurrent systems in which native and cooperative threads are unified and presented to the programmer as a single abstraction. The CPC compiler uses a compilation technique, based on the CPS transform, that yields efficient code and an extremely lightweight representation for contexts. We provide a proof of the correctness of our compilation scheme. We show in particular that lambda-lifting, a common compilation technique for functional languages, is also correct in an imperative language like C, under some conditions enforced by the CPC compiler. The current CPC compiler is mature enough to write substantial programs such as Hekate, a highly concurrent BitTorrent seeder. Our benchmark results show that CPC is as efficient, while using significantly less space, as the most efficient thread libraries available.Comment: Higher-Order and Symbolic Computation (2012). arXiv admin note: substantial text overlap with arXiv:1202.324

    If We Allow Football Players and Boxers to be Paid for Entertaining the Public, Why Don’t We Allow Kidney Donors to be Paid for Saving Lives?

    Get PDF
    We contrast the compensation ban on organ donation with the legal treatment of football, boxing, and other violent sports where both acute and chronic injuries to participants are common. Our claim is that there is a stronger case for compensating kidney donors than for compensating participants in violent sports. If this proposition is accepted, one implication is that there are only three logically consistent positions: allow compensation for both kidney donation and for violent sports; allow compensation for kidney donation but not for violent sports; or allow compensation for neither. Our current law and practice is perverse in endorsing a fourth regime, allowing compensation for violent sports but not kidney donation. We base our argument chiefly on the medical risk to participants, the consent process, social justice concerns, and social welfare considerations. The medical risks to a professional career in football, boxing, and other violent sports are much greater both in the near and long term than the risks of donating a kidney. On the other hand, the consent and screening process in professional sports is not as developed as in kidney donation. The social justice concerns stem from the fact that most players are black and some come from impoverished backgrounds. Finally, the net social benefit from compensating kidney donors – namely, saving thousands of lives each year and reducing the suffering of 100,000 more receiving dialysis – far exceeds the net social benefit of entertaining the public through professional sports. In sum, the arguments against compensating kidney donors apply with equal or greater force to compensating athletes in these sport

    A rework reduction model for construction projects

    Get PDF
    Rework is an endemic problem in building construction projects and is an area of research that has received limited attention. Recent research has shown that rework is the primary cause of time and schedule overruns in projects and that rework levels do not significantly differ between current procurement methods despite calls from government for the use of more integrated procurement approaches such as design-and-construct to improve project performance. To reduce the incidence of rework throughout the construction supply chain, data from 161 completed projects were gathered using a questionnaire survey. Stepwise multiple regression was used to determine the significant variables that contributed to rework in projects. In conjunction with previously reported research, these variables were used to develop an alternative procurement model for reducing rework in projects. It is suggested that the proposed model could be used to stimulate interorganizational relations and promote teambuilding during the formative stages of a project, which is essential for reducing design-related reworking
    corecore