On Mon, Feb 7, 2011 at 1:49 PM, Michael Minutillo <michael.minuti...@gmail.com> wrote: > You could host Razor but I'm not sure how it will handle a template so > large. > http://www.west-wind.com/weblog/posts/864461.aspx > Or possibly you could use NVelocity > http://csharp-source.net/open-source/template-engines/nvelocity > Or StringTemplate > http://www.stringtemplate.org/ > Or Spark > http://sparkviewengine.com/ > If you're just replacing string tokens with precomputed string values > though, I'd probably just do it one line at a time. Id guess that most of > these template engines are designed to load the template into memory and > turn it into a method that spits out the text given some kind of context > (the way T4 does it [Preprocessed T4 template is another way to go if you > don't mind being all in memory]). >
Thanks Michael I'll hava look into these. > -- > Michael M. Minutillo > Indiscriminate Information Sponge > Blog: http://wolfbyte-net.blogspot.com > > > On Mon, Feb 7, 2011 at 10:42 AM, Bec Carter <bec.usern...@gmail.com> wrote: >> >> On Mon, Feb 7, 2011 at 1:33 PM, Michael Minutillo >> <michael.minuti...@gmail.com> wrote: >> > Well, if the template size isn't going change and this is the only app >> > running on the machine then so be it. Chances are good that neither of >> > those >> > things is true. I'd still err on the side of having a single line memory >> > at >> > a time because it's not like the optimization is making it any harder to >> > read or understand. >> > >> >> Yup template file will mostly likely not change and app will always >> run locally as an exe. This sort of optimisation you suggested seems >> good enough to use as it is fairly simple. >> >> ...But I was kinda questioning the design of doing things this way at >> all. It seems like what I want is a dynamic "page" (like a webform) >> that can run and spit out text just like an asp page does.....so the >> placeholders would really be <%= %> tags. Is something like this an >> option? Can I somehow run an asp.net page locally? Will this cause >> performance problems for 750megs of data which is around 70 pages? Am >> I going completely crazy? :-) >> >> >> > Michael M. Minutillo >> > Indiscriminate Information Sponge >> > Blog: http://wolfbyte-net.blogspot.com >> > >> > >> > On Mon, Feb 7, 2011 at 10:30 AM, mike smith <meski...@gmail.com> wrote: >> >> >> >> On Mon, Feb 7, 2011 at 12:49 PM, Michael Minutillo >> >> <michael.minuti...@gmail.com> wrote: >> >>> >> >>> If you're in .NET 4.0 land then I'd do something similar to this: >> >>> public string ReplaceTokens(string src) { /* ... */ } >> >>> File.WriteAllLines(outputFileName, >> >>> File.ReadLines(inputFileName).Select(ReplaceTokens)); >> >>> The ReadLines call (new to .NET 4.0) reads one line at a time and >> >>> returns >> >>> it as you iterate over it so in theory you don't need to have the >> >>> whole file >> >>> in memory. Don't use the ReadAllLines method on a 750MB file which >> >>> DOES read >> >>> the whole thing in before you start. >> >>> >> >> >> >> >> >> Is that a real problem given physical RAM these days? If you're going >> >> to >> >> write multiple outputs from the one template file of 750 it's going to >> >> rapidly get more efficient to have the template in-ram. Wait a >> >> moment. >> >> You don't work for Readers Digest, do you? I have no desire whatever >> >> to >> >> make them more efficient. >> >> -- >> >> Meski >> >> >> >> "Going to Starbucks for coffee is like going to prison for sex. Sure, >> >> you'll get it, but it's going to be rough" - Adam Hills >> > >> > > >