From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id D5C387F64A for ; Sat, 9 Jan 2016 23:26:04 +0100 (CET) IronPort-PHdr: 9a23:lXWI5B2HLCD+K5CosmDT+DRfVm0co7zxezQtwd8ZsegVKPad9pjvdHbS+e9qxAeQG96LtbQc06L/iOPJZy8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL2PbrnD61zMOABK3bVMzfbSrXNaKx+2MlMmMuLTrKz1SgzS8Zb4gZD6Xli728vcsvI15N6wqwQHIqHYbM85fxGdvOE7B102kvpT4r9Zf9HFbsvclsspBSrnSfqIiTLUeAi51HXoy4ZjOvB3ISg+Krl4VTmwSkRMAVw3A5Q3zWpT4miT/v+t5niKdOJulHvgPRT2+4vIzG1fTgyAdOmth/Q== Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mmatalka@gmail.com; spf=Pass smtp.mailfrom=mmatalka@gmail.com; spf=None smtp.helo=postmaster@mail-wm0-f41.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of mmatalka@gmail.com) identity=pra; client-ip=74.125.82.41; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="mmatalka@gmail.com"; x-sender="mmatalka@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of mmatalka@gmail.com designates 74.125.82.41 as permitted sender) identity=mailfrom; client-ip=74.125.82.41; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="mmatalka@gmail.com"; x-sender="mmatalka@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-wm0-f41.google.com) identity=helo; client-ip=74.125.82.41; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="mmatalka@gmail.com"; x-sender="postmaster@mail-wm0-f41.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BgAADGiJFWlClSfUpehHmIWYRInSsEA4cMikgBDYFmhgaBIjgUAQEBAQEBAQEQAQEBAQcLCwkfMIItgiAuARseAxIQFjQBBA8RAQUBV4d2AQMSBKAkggeBMT4xjTKCeYc0ChknDVeCTwEFDoZIiiKEGQWXE41ZiRqFY40FNYEXIAEBgmiBZHKFYQEBAQ X-IPAS-Result: A0BgAADGiJFWlClSfUpehHmIWYRInSsEA4cMikgBDYFmhgaBIjgUAQEBAQEBAQEQAQEBAQcLCwkfMIItgiAuARseAxIQFjQBBA8RAQUBV4d2AQMSBKAkggeBMT4xjTKCeYc0ChknDVeCTwEFDoZIiiKEGQWXE41ZiRqFY40FNYEXIAEBgmiBZHKFYQEBAQ X-IronPort-AV: E=Sophos;i="5.20,546,1444687200"; d="scan'208";a="196474482" Received: from mail-wm0-f41.google.com ([74.125.82.41]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 09 Jan 2016 23:25:58 +0100 Received: by mail-wm0-f41.google.com with SMTP id b14so218517322wmb.1 for ; Sat, 09 Jan 2016 14:25:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:user-agent:mime-version :content-type; bh=EyiHq4tgt2E2OvtUHxJcaCm5GgulsKqWdTi3tZIQ5cc=; b=bCwamt5W77YQ8B2+adjlYSLZ/o+DAthBq5eD1qCrVubb8FvRsaJR7XXXGMzDOqEQCq /ljOutImPpAXzzFn6guSPBK3d9M6KgKnTXbdIaRWOy3dZ+MXD8qDf1G3cTIGyGK/dNgF tg/7kzQJL4X6/hHNk8x8uhMINqBNgxltp29CpR2rMQE3HwsjKA/Ua73L+z/2+Lhks0JC RiL9fOVRUD52PwtkQSIS9uKv4RdcHSrm+7pRVL7Huj+sxICLudWVeDw4rPp6Ptsnrj55 Qw/95cRNkGChERyPFZOGQNByCSRQEtHFaMT70xB4jYxdqCiTBq1UKdy3doAOJ8GDeleU V0Jg== X-Received: by 10.28.4.145 with SMTP id 139mr6084613wme.56.1452378357920; Sat, 09 Jan 2016 14:25:57 -0800 (PST) Received: from localhost (li195-236.members.linode.com. [178.79.139.236]) by smtp.gmail.com with ESMTPSA id w194sm10451174wmd.0.2016.01.09.14.25.56 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 09 Jan 2016 14:25:56 -0800 (PST) From: Malcolm Matalka To: caml-list@inria.fr Date: Sat, 09 Jan 2016 22:25:54 +0000 Message-ID: <86a8oeo0el.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain Subject: [Caml-list] Best Practices for binding C libraries I'm doing my first big binding of a C library in Ocaml and I'm wondering what some of the best practices are. In my case, it's an I/O library I'm binding and I'm interested in minimizing the overhead because a lot of data will be shipped back and forth. Right now I'm doing a pretty straight forward wrapping with Ctypes. Should I be looking into using Bigstrings? Anything else? Thanks, /Malcolm