From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS3215 2.6.0.0/16 X-Spam-Status: No, score=-3.7 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_LOW,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from mail-oi0-x23e.google.com (mail-oi0-x23e.google.com [IPv6:2607:f8b0:4003:c06::23e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 3FC3A2028A for ; Thu, 29 Jun 2017 02:19:17 +0000 (UTC) Received: by mail-oi0-x23e.google.com with SMTP id t194sf162849oif.0 for ; Wed, 28 Jun 2017 19:19:17 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1498702756; cv=pass; d=google.com; s=arc-20160816; b=nhJOkyM/XtpvD5Ge+8h9jkNO8nRFJzxg+tOVxn7qQsmIGVutHaAXfALBfJXHIe27tR hmCnn+b1Iriy9zFXDxJWS8CWEIMW+YPObYEA3PzhPw1fM2nDc2WOWkui0RQpA3RtzfL1 aYXk6ngJvgWotl6KczXetgMDIi2GTLqZ0JkbG4ocREqDKMFCdPnYNn15ShfXXRhvkU4K wbYCcQS2iv0mFWlXKAOiVIDYsJnANVsxrZAtGlDPJKdWMc+2KSY9abGHfLPIl9Ptx72t VwkT/Kk+OGjlWe/WWvx95XcgugHcp3YkopsmnkBFGeGXI+BjsLQscyo/UAna9TNICpn8 rdUw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:message-id:date:subject:to :from:arc-authentication-results:arc-message-signature:mime-version :sender:dkim-signature:arc-authentication-results; bh=dm9FGOqZb9sPTJDieHI99bY53IeFbpOhxrzusdk3YSo=; b=Zw+OJ69w2bl0d9fEDOyrsCRXsBCZX6bu2gAGUthF7aNTyqf+lfknRH9ITbjgtFiMI8 SnjPHbtyxyAELIpuTglm0KDUPC5+8QDmp+cTw6F1/nNsnwCn5eGcOTL8NCUdv5SBYp94 d5nAWevf9E6Wgl+qNqfvjzqUQqMEBBfSAuJftc/qc1J61rpw+dq4wpPifYDJvMjAvkcU +81KkRm3aB+lI/xOrit9ioS5ZwDfTpqq5H6FmLC2hQabQ3Dkvr2eVpQhqreVRbAyT96Q zgGvFKwLM0RUUt0HIFASja1Zl7cViJBo4KT+pW/9IPJfJuK4jEQgJPZWTJPZRcYwTk1b ii8Q== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of e@80x24.org designates 2600:3c01::f03c:91ff:fe96:f5d6 as permitted sender) smtp.mailfrom=e@80x24.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:mime-version:from:to:subject:date:message-id :x-original-sender:x-original-authentication-results:reply-to :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=dm9FGOqZb9sPTJDieHI99bY53IeFbpOhxrzusdk3YSo=; b=s6WdlNuyyYuK6PIfxKSvq67Q8VM0/TaDT+tx/TQzwPZZof1xhuCot6oKenbaUE9XoP yduzzY04zxGJVofAVjf5B7V2oBlia4FPrc1KWcfJwwFs2LX5KOovRdSJ6hg1TjNvXU7k T98uFsOOzDrTJs31SvyIYz5+xojWpPnm9IcrgktdWnXDqz491rSxDYp6yKE/RCtZDx5H cq3eRmzOolnrqX1HFwmufxcR4gFKAM4W80V93UrNN2/QOSnEQhZ5ROSjRzewyr01akp6 PEWi2btuxOLS8SvDiFm8nkpYkB66erDFB0ItsN7IIlVXSbyzzZAXPvwaQLQAoBSVkfOj 3jvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:mime-version:from:to:subject:date :message-id:x-original-sender:x-original-authentication-results :reply-to:precedence:mailing-list:list-id:x-spam-checked-in-group :list-post:list-help:list-archive:list-subscribe:list-unsubscribe; bh=dm9FGOqZb9sPTJDieHI99bY53IeFbpOhxrzusdk3YSo=; b=hn69gYyCPjCkyMeG3qCYnP/m86nKCowFgCOqIySBv26a3JUIrhWkl9ZDClCW8CsKns e/aXMGoNqLtUADzWiBNzWGMKPVCZCwkR7DKqeQLYQjwVqfGjjKnAvtPearg2pIBp5N0J O7RRx7mKtKCWCTaJ1mplbJx9YKN9mBO4qaShgFsoQbtW+fBIvovq4NmKUIN70AaOMZIR lGufUuEOAuZDO7P7dQIZid1eD/evvEdGeOlkyL831/4ScyljIUb6nDQDNu+LXj3Vo6HK Cy0dX+pOGMkpqDF6APqc/DqIvKnnLTQHNtjKwG4deNKFFXjjsWs0F7fEjZlWo/78NXS6 dRxg== Sender: rack-devel@googlegroups.com X-Gm-Message-State: AKS2vOyi95o/2u/VYt07WYZvmvMy3D9VwKDYYf4RcR3q3deerXSL0SIX t2QJzsZcirxqKQ== X-Received: by 10.36.88.206 with SMTP id f197mr268804itb.10.1498702756503; Wed, 28 Jun 2017 19:19:16 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: rack-devel@googlegroups.com Received: by 10.36.84.204 with SMTP id t195ls3752451ita.15.canary-gmail; Wed, 28 Jun 2017 19:19:15 -0700 (PDT) X-Received: by 10.129.137.67 with SMTP id z64mr8465281ywf.79.1498702755931; Wed, 28 Jun 2017 19:19:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1498702755; cv=none; d=google.com; s=arc-20160816; b=lQVak725+Zs3i8c09dI/PfyydaJ0N4ndhegq1/MhS1d26XzcWntczO6iecez0jAybo BuWKvKuj8EbsdMllvnZxZtrqikmKvdh26IwquumZZ/RDgkdb0aOlDb6B3ZWp5Lt2at4T QOQuVfUVcoRD22pfUJIuOI5IxWU0GlPw/THBH8w/5bi5MMD6X/v40JLwhBm9TDhs2Ueg DY33wfRCjxng/N31NF2EKaURjp2WKybCpKE4XOvVrbO3TDMlgAb/+9/Du0FFs/LBIFNY epG0Qyu9SOcc747rZOGoppz7TUI4Sg0iF5k/Ihz0Nc0y5oAYkZrrek1vrIuItKz08Eyz wAJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:to:from:arc-authentication-results; bh=ndEbRxwx3IQY+fGFQ2LwHATpXHYBHnfLlHVqYdjNYMc=; b=pRKLCMQJ8EU8JUJQs5QmRMYjbnkaDg+2Q76ghqb/ijzKOfFRRENTrM4AGYufAHpSg0 Qf7aZ0yKV7XNfB15ighaeHwpdSe+ejuXloxKzeqNTSgeL0WPoQpDE6FpjBaIS0oTgaIn LRMV4v6w25y2bw+E3FoGSBtRDzZhzWNqXNQzaf+sweOcXRhpW5VQlP4PA0Q/EZB/6xyp EU/JtLI9fCWBA2v2y3koE71FKVJERadSdr/W58ItZ4cBTZo3vgzM77onSxMWVWKt5+pw g94cVlqGD4qtXA3sg7SPB3MMZLMzDiDHo2vosf5YQvEq7sMsRSgZOvaVifgayO7usGWt a0Xw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of e@80x24.org designates 2600:3c01::f03c:91ff:fe96:f5d6 as permitted sender) smtp.mailfrom=e@80x24.org Received: from dcvr.yhbt.net (dcvr.yhbt.net. [2600:3c01::f03c:91ff:fe96:f5d6]) by gmr-mx.google.com with ESMTPS id y5si216285pff.2.2017.06.28.19.19.15 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Jun 2017 19:19:15 -0700 (PDT) Received-SPF: pass (google.com: domain of e@80x24.org designates 2600:3c01::f03c:91ff:fe96:f5d6 as permitted sender) client-ip=2600:3c01::f03c:91ff:fe96:f5d6; Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 4233A2023D for ; Thu, 29 Jun 2017 02:19:15 +0000 (UTC) From: Eric Wong To: rack-devel@googlegroups.com Subject: [PATCH 0/5] deflater: tiny optimizations + 1 new feature Date: Thu, 29 Jun 2017 02:19:10 +0000 Message-Id: <20170629021915.22517-1-e@80x24.org> X-Original-Sender: e@80x24.org X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of e@80x24.org designates 2600:3c01::f03c:91ff:fe96:f5d6 as permitted sender) smtp.mailfrom=e@80x24.org Reply-To: rack-devel@googlegroups.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list rack-devel@googlegroups.com; contact rack-devel+owners@googlegroups.com List-ID: X-Google-Group-Id: 486215384060 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , I mainly wanted to to implement "sync: false" [PATCH 3/5] to avoid flushing the buffer for every chunk. This would allow my applications/middleware to work with smaller chunks of memory internally, yet still achieve good compression. The default flush behavior remains unchanged, of course, since I'd rather be inefficient than break existing apps. Of course, I saw a few other small things along the way. 1/5 is a hopefully obvious cleanup 2/5 makes me sleep better at night 3/5 see above 4/5 test only, split from 5/5 in case 5/5 is rejected 5/5 War on Time, part 1 :) The following changes since commit 0362a54dba92626582d42f3343c209b7cdb7e713: Partially reverting 8a7a142d (2017-06-28 13:20:52 -0700) are available in the git repository at: git://80x24.org/rack deflater for you to fetch changes up to 69a2a195d749fdc2c04451688f3569bd5ce24c73: deflater: reduce live Time objects (2017-06-29 02:04:50 +0000) ---------------------------------------------------------------- Eric Wong (5): deflater: rely on frozen_string_literal deflater: avoid wasting an ivar slot on @closed deflater: support "sync: false" option deflater: additional mtime tests deflater: reduce live Time objects lib/rack/deflater.rb | 30 +++++++++++++++++------------- test/spec_deflater.rb | 45 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 61 insertions(+), 14 deletions(-) -- EW -- --- You received this message because you are subscribed to the Google Groups "Rack Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to rack-devel+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/d/optout.