Return-Path: <tiff-bounces@lists.osgeo.org>
Delivered-To: even.rouault@spatialys.com
Received: from spool.mail.gandi.net (spool5.mail.gandi.net [217.70.178.214])
	by nmboxes134.sd4.0x35.net (Postfix) with ESMTP id 2CE686027C
	for <even.rouault@spatialys.com>; Tue, 23 Apr 2019 21:04:44 +0000 (UTC)
Received: from lists.osgeo.org (osgeo6.osgeo.osuosl.org [140.211.15.3])
	by spool.mail.gandi.net (Postfix) with ESMTPS id B71D2D80864
	for <even.rouault@spatialys.com>; Tue, 23 Apr 2019 21:04:43 +0000 (UTC)
Received: from osgeo6.osgeo.osuosl.org (localhost [127.0.0.1])
	by lists.osgeo.org (Postfix) with ESMTP id 95DB26144E5B;
	Tue, 23 Apr 2019 14:04:39 -0700 (PDT)
Received: from mail-pl1-f180.google.com (mail-pl1-f180.google.com
 [209.85.214.180])
 by lists.osgeo.org (Postfix) with ESMTPS id 6D31F6146DDD
 for <tiff@lists.osgeo.org>; Tue, 23 Apr 2019 14:04:38 -0700 (PDT)
Received: by mail-pl1-f180.google.com with SMTP id e92so6328168plb.6
 for <tiff@lists.osgeo.org>; Tue, 23 Apr 2019 14:04:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=objectivepathology.com; s=google;
 h=from:to:subject:thread-topic:thread-index:date:message-id
 :references:in-reply-to:accept-language:content-language
 :mime-version; bh=wrOjfvluTpxaEF/qByywQDXy9rquaX/Aqolxhpla0gI=;
 b=QoDCmlaKxbyf/EZmnZwyG5ZbBXez/VZ8W0YcxRILpZfpMVdAJ1AlHhU85WaXgXxTyf
 FZOzGOoIkQksOrQUvoFSbgngp5oc7K9zLVAfvHjZ0N0KzoaQSOIzpQT1+unUn4la+OsG
 VUfbIcOJ9uH4C3WcK4zoMJIdIy4kz7loYsGjUFxySeoMR0dtVPiG1ZwYiwt3nrJj/Npk
 aRHFTadOJP+3pwXd5jvqrSgL/0yhzaXU4Eu0N+fMBO3RFTJM69xW+IxxosIujRwA0jf9
 qIm9/+diL5BOTrsyqPNGgYGJCfZtZbRQopFV6TKw7aJ3USx1M+XG9XBcS+PBGMAKKZRQ
 lZVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:subject:thread-topic:thread-index:date
 :message-id:references:in-reply-to:accept-language:content-language
 :mime-version;
 bh=wrOjfvluTpxaEF/qByywQDXy9rquaX/Aqolxhpla0gI=;
 b=duEwfabvMZT7Rq36mX08YqP38AGIdD7NG1Krf8JKtG6HpsKna0Sah6VleRiFbQOmWi
 ww3TikkM6xQlCqC6w7HkvvTNSPjLrL2GjC3rZlQokLUG+cGlIGaA54/EUWR0Pg/6sbP7
 p+IcJt240GvGPPEbU0tKRmuLK6jEgZNQiK6K8ABrNiz2zZ7ziAGDKGr44hNJI5D07l3e
 t6pfKOctcArArq8Hp0YMyWJ10JVDuuGfQZ4dOY+Spt/nuUcn72gVEn/scqZBKTkFg7Yf
 YahbIlQZjTlGQNINoh5gC4igDCYMrys2xl39whrsQQ1V1ZMjjBdmMB94XiCIhPTSTVhi
 pxKQ==
X-Gm-Message-State: APjAAAWoAF9/JS2uE8a/+hJ7a4HLorA7xEo5Amffn96HpyNHbv+AJ5uz
 AP2duP2Xz9MJw/QcdOyqT1nNtC6RY6Y=
X-Google-Smtp-Source: APXvYqzK1lIA3pRB/e4TCCakPqtzk1dwKcZvl+7Ib89zTlA6UCmapFqa0ek+sRL9mK9vJ17VKkhK2g==
X-Received: by 2002:a17:902:2be8:: with SMTP id
 l95mr28963034plb.330.1556053477721; 
 Tue, 23 Apr 2019 14:04:37 -0700 (PDT)
Received: from CY4PR04MB1047.namprd04.prod.outlook.com ([40.97.139.5])
 by smtp.gmail.com with ESMTPSA id p2sm27368747pfb.80.2019.04.23.14.04.36
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 23 Apr 2019 14:04:37 -0700 (PDT)
From: Kemp Watson <kemp@objectivepathology.com>
To: Paul Hemmer <paulhemmer@hotmail.com>, Tiff List <tiff@lists.osgeo.org>
Thread-Topic: [Tiff] TIFFWriteScanLine - buffers to RAM before flushing to
 disc?
Thread-Index: ATAzMEYxGCUo0JmWxIWLNnXWJfc7wMmNz8K1
X-MS-Exchange-MessageSentRepresentingType: 1
Date: Tue, 23 Apr 2019 21:04:35 +0000
Message-ID: <CY4PR04MB10476127E0B6C28E0B748951AB230@CY4PR04MB1047.namprd04.prod.outlook.com>
References: <BN6PR18MB1476011F1763330A6A342322DD230@BN6PR18MB1476.namprd18.prod.outlook.com>
In-Reply-To: <BN6PR18MB1476011F1763330A6A342322DD230@BN6PR18MB1476.namprd18.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator: 
X-MS-Exchange-Organization-RecordReviewCfmType: 0
MIME-Version: 1.0
Subject: Re: [Tiff] TIFFWriteScanLine - buffers to RAM before flushing to
 disc?
X-BeenThere: tiff@lists.osgeo.org
X-Mailman-Version: 2.1.20
Precedence: list
List-Id: TIFF and libtiff discussion <tiff.lists.osgeo.org>
List-Unsubscribe: <https://lists.osgeo.org/mailman/options/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=unsubscribe>
List-Post: <mailto:tiff@lists.osgeo.org>
List-Help: <mailto:tiff-request@lists.osgeo.org?subject=help>
List-Subscribe: <https://lists.osgeo.org/mailman/listinfo/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============8016288181696397353=="
Errors-To: tiff-bounces@lists.osgeo.org
Sender: "Tiff" <tiff-bounces@lists.osgeo.org>
X-GND-Status: LEGIT

--===============8016288181696397353==
Content-Language: en-US
Content-Type: multipart/related;
	boundary="_004_CY4PR04MB10476127E0B6C28E0B748951AB230CY4PR04MB1047namp_";
	type="multipart/alternative"

--_004_CY4PR04MB10476127E0B6C28E0B748951AB230CY4PR04MB1047namp_
Content-Type: multipart/alternative;
	boundary="_000_CY4PR04MB10476127E0B6C28E0B748951AB230CY4PR04MB1047namp_"

--_000_CY4PR04MB10476127E0B6C28E0B748951AB230CY4PR04MB1047namp_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Maybe dumb question, something I might do:=85. Are you flushing out your so=
urce memory or is _it_ accumulating?

[signature_1034191217]

W. Kemp Watson
+1 (416) 970-7284
Objective Pathology Services Limited
13629 Fallbrook Trail, Halton Hills
Ontario, Canada  L7G 4S8

From: Tiff <tiff-bounces@lists.osgeo.org> on behalf of Paul Hemmer <paulhem=
mer@hotmail.com>
Date: Tuesday, April 23, 2019 at 2:55 PM
To: Tiff List <tiff@lists.osgeo.org>
Subject: [Tiff] TIFFWriteScanLine - buffers to RAM before flushing to disc?

Hi,

I noticed that when using LibTIFF to write a BigTIFF in a scanline based wa=
y that it seems like TIFFWriteScanLine doesn't immediately write to disc an=
d flush memory (even though I see a call to TIFFFlush inside the code for T=
IFFWriteScanLine)...  If I write lines in a loop, RAM utilization increases=
 and when I finally call TIFFClose(), there is a  delay as the file seems t=
o be actually written, and then all the memory frees.   I haven't checked y=
et to see if the behavior is similar with using Tiled output.

Is this expected behavior? These are large images, where a given scanline c=
an easily be 150,000+ pixels..  Is there a way to stream lines to disc with=
out the internal buffering?

I do understand the benefits of tiled-tiffs for large images, and will see =
if this behavior is the same, but am curious to understand how this works i=
nternally.

Thanks!

--_000_CY4PR04MB10476127E0B6C28E0B748951AB230CY4PR04MB1047namp_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DWindows-1=
252">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
	{font-family:System;
	panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:"Times New Roman \(Body CS\)";
	panose-1:2 2 6 3 5 4 5 2 3 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman",serif;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"System",sans-serif;
	font-variant:normal !important;
	color:#223344;
	text-transform:none;
	letter-spacing:0pt;
	mso-ligatures:standardcontextual;
	mso-number-form:lining;
	mso-number-spacing:tabular;
	mso-stylistic-set:0;
	mso-contextual-alternates:yes;
	font-weight:normal;
	font-style:normal;
	text-decoration:none none;
	vertical-align:baseline;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style>
</head>
<body lang=3D"EN-CA" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:&quot;Syst=
em&quot;,sans-serif;color:#223344;mso-ligatures:standardcontextual;mso-numb=
er-form:lining;mso-number-spacing:tabular;mso-contextual-alternates:yes">Ma=
ybe dumb question, something I might do:=85. Are you
 flushing out your source memory or is _<i>it</i>_ accumulating?<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:&quot;Syst=
em&quot;,sans-serif;color:#223344;mso-ligatures:standardcontextual;mso-numb=
er-form:lining;mso-number-spacing:tabular;mso-contextual-alternates:yes"><o=
:p>&nbsp;</o:p></span></p>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;System&quot;,sans-s=
erif;color:#445566"><img width=3D"144" height=3D"32" style=3D"width:1.5in;h=
eight:.3333in" id=3D"Picture_x0020_1" alt=3D"signature_1034191217" data-out=
look-trace=3D"F:0|T:1" src=3D"cid:image001.png@01D4F9F6.9F529ED0"><span sty=
le=3D"mso-ligatures:standardcontextual;mso-number-form:lining;mso-number-sp=
acing:tabular;mso-contextual-alternates:yes"><o:p></o:p></span></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:6.0pt;font-family:&quot;Sys=
tem&quot;,sans-serif;color:#445566;mso-ligatures:standardcontextual;mso-num=
ber-form:lining;mso-number-spacing:tabular;mso-contextual-alternates:yes"><=
o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><span style=3D"font-s=
ize:11.0pt;font-family:&quot;System&quot;,sans-serif;color:#223344;mso-liga=
tures:standardcontextual;mso-number-form:lining;mso-number-spacing:tabular;=
mso-contextual-alternates:yes">W. Kemp Watson<br>
</span><span style=3D"font-size:10.0pt;font-family:&quot;System&quot;,sans-=
serif;color:#445566;mso-ligatures:standardcontextual;mso-number-form:lining=
;mso-number-spacing:tabular;mso-contextual-alternates:yes">&#43;1 (416) 970=
-7284<o:p></o:p></span></p>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;font-=
family:&quot;System&quot;,sans-serif;color:#223344;mso-ligatures:standardco=
ntextual;mso-number-form:lining;mso-number-spacing:tabular;mso-contextual-a=
lternates:yes">Objective Pathology Services Limited<br>
</span><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:&quot;Sys=
tem&quot;,sans-serif;color:#445566;mso-ligatures:standardcontextual;mso-num=
ber-form:lining;mso-number-spacing:tabular;mso-contextual-alternates:yes">1=
3629 Fallbrook Trail, Halton Hills</span><span lang=3D"EN-US" style=3D"font=
-size:10.0pt;font-family:&quot;System&quot;,sans-serif;color:#223344;mso-li=
gatures:standardcontextual;mso-number-form:lining;mso-number-spacing:tabula=
r;mso-contextual-alternates:yes"><br>
</span><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:&quot;Sys=
tem&quot;,sans-serif;color:#445566;mso-ligatures:standardcontextual;mso-num=
ber-form:lining;mso-number-spacing:tabular;mso-contextual-alternates:yes">O=
ntario, Canada&nbsp; L7G 4S8</span><span lang=3D"EN-US" style=3D"font-famil=
y:&quot;System&quot;,sans-serif;color:#223344;mso-ligatures:standardcontext=
ual;mso-number-form:lining;mso-number-spacing:tabular;mso-contextual-altern=
ates:yes"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:&quot;Syst=
em&quot;,sans-serif;color:#223344;mso-ligatures:standardcontextual;mso-numb=
er-form:lining;mso-number-spacing:tabular;mso-contextual-alternates:yes"><o=
:p>&nbsp;</o:p></span></p>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-family:&quot;Calibri&quot;,sa=
ns-serif;color:black">From:
</span></b><span style=3D"font-family:&quot;Calibri&quot;,sans-serif;color:=
black">Tiff &lt;tiff-bounces@lists.osgeo.org&gt; on behalf of Paul Hemmer &=
lt;paulhemmer@hotmail.com&gt;<br>
<b>Date: </b>Tuesday, April 23, 2019 at 2:55 PM<br>
<b>To: </b>Tiff List &lt;tiff@lists.osgeo.org&gt;<br>
<b>Subject: </b>[Tiff] TIFFWriteScanLine - buffers to RAM before flushing t=
o disc?<o:p></o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,sans-=
serif;color:black">Hi,&nbsp;<o:p></o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,sans-=
serif;color:black"><o:p>&nbsp;</o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,sans-=
serif;color:black">I noticed that when using LibTIFF to write a BigTIFF in =
a scanline based way that it seems like TIFFWriteScanLine doesn't immediate=
ly write to disc and flush memory (even though
 I see a call to TIFFFlush inside the code for TIFFWriteScanLine)...&nbsp; =
If I write lines in a loop, RAM utilization increases and when I finally ca=
ll TIFFClose(), there is a&nbsp; delay as the file seems to be actually wri=
tten, and then all the memory frees.&nbsp; &nbsp;I haven't
 checked yet to see if the behavior is similar with using Tiled output.&nbs=
p;<o:p></o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,sans-=
serif;color:black"><o:p>&nbsp;</o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,sans-=
serif;color:black">Is this expected behavior? These are large images, where=
 a given scanline can easily be 150,000&#43; pixels..&nbsp; Is there a way =
to stream lines to disc without the internal buffering?<o:p></o:p></span></=
p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,sans-=
serif;color:black"><o:p>&nbsp;</o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,sans-=
serif;color:black">I do understand the benefits of tiled-tiffs for large im=
ages, and will see if this behavior is the same, but am curious to understa=
nd how this works internally.<o:p></o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,sans-=
serif;color:black"><o:p>&nbsp;</o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span style=3D"font-family:&quot;Calibri&quot;,sans-=
serif;color:black">Thanks!<o:p></o:p></span></p>
</div>
</div>
</body>
</html>

--_000_CY4PR04MB10476127E0B6C28E0B748951AB230CY4PR04MB1047namp_--

--_004_CY4PR04MB10476127E0B6C28E0B748951AB230CY4PR04MB1047namp_
Content-Type: image/png; name="image001.png"
Content-Description: image001.png
Content-Disposition: inline; filename="image001.png"; size=2607;
	creation-date="Tue, 23 Apr 2019 21:04:34 GMT";
	modification-date="Tue, 23 Apr 2019 21:04:34 GMT"
Content-ID: <image001.png@01D4F9F6.9F529ED0>
Content-Transfer-Encoding: base64

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
VS8AAAAASUVORK5CYIIAAAAAAAAA

--_004_CY4PR04MB10476127E0B6C28E0B748951AB230CY4PR04MB1047namp_--

--===============8016288181696397353==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVGlmZiBtYWls
aW5nIGxpc3QKVGlmZkBsaXN0cy5vc2dlby5vcmcKaHR0cHM6Ly9saXN0cy5vc2dlby5vcmcvbWFp
bG1hbi9saXN0aW5mby90aWZmCg==

--===============8016288181696397353==--

