IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2012/07/31)2012/08/01 
V_Tori hey05:44.23 
ghostbot que tal05:44.23 
V_Tori what are the differences between fz_open_document and pdf_open_document ?05:45.24 
  my aim is to use mupdf to render the content of the pages in our graphic object05:46.25 
  basically, i see a lot of functions un mupdf.h that already exist in fitz.h, with a different namespace05:47.22 
  it seems to me that mupdf.h is actually useless06:04.23 
  ha no, dictionnary, for example06:05.52 
  is it valid to cast a pdf_document * to a fz_document * ?06:36.34 
  i think so as 'super' is the first member of pdf_document_s06:38.34 
  iarg ! i can't retrieve the version, now06:45.25 
  it's internal and not exposed by a function06:45.36 
  kens: http://pastebin.com/CHuLjrPV07:12.28 
kens Cna't help you there, I don't know enough about MuPDF. Either to8 or Robin_Watts will be along in an hour or two and they usually read the logs. If you have to go you can read our IRC logs here: http://ghostscript.com/irclogs/2012/07/31.html07:13.36 
  One of them will respond I expect and you can always catch up07:13.51 
V_Tori kens: ok, thanks07:42.09 
  i didn't know about the log07:42.17 
kens You're welomce V_Tori, I'm sure Robin_Watts and tor8 will read the log when they come online07:44.41 
V_Tori api had changed a lot between 0.9 and 1.007:45.19 
  and there is almost no doc07:45.32 
  only apps examples07:45.45 
kens Yes, there was a lot of work done to make it ready for a v 1.0 release. I thought there was documentation, but as I said, I 'm not expert07:45.52 
V_Tori in the headers, there are some07:46.06 
  but it's not sufficient, imho07:46.14 
  i read the apps code07:46.20 
kens Reading the applicationj source is probably a decent way to go07:46.49 
V_Tori not enough :)07:50.09 
  for example, the version of the pdf doc07:50.20 
  afaics, it's internal 07:50.30 
kens You'll have to take it up with someone other than me....07:50.43 
V_Tori but reading the source code of pdf/ and fitz/, it seems it's possible with fz_meta07:51.03 
  it works :)08:06.55 
Robin_Watts V_Tori: Morning09:17.51 
V_Tori Robin_Watts: hey09:18.32 
chrisl bbiaw09:18.51 
Robin_Watts Ideally you'd use fz_open_document to get an fz_document * and you'd then always use that.09:19.21 
  And that would isolate you from the specifics of different formats.09:19.35 
  but there are some things you can only do with a pdf_document currently.09:19.53 
V_Tori dict for example09:20.32 
Robin_Watts Right. If you want to go walking the structure of a PDF file, then you're obviously into pdf specific territory.09:21.12 
  In general, if you want a pdf_document * use pdf_open_document, where if you want an fz_document * use fz_open_document.09:22.39 
  but for now, you can cast from fz_document to pdf_document if you know it's a pdf_document.09:23.31 
kens OK I'm off for a couple of hours, see you all later.09:26.01 
V_Tori that's what i figured when i tried to get the version of the pdf from a pdf_document09:26.53 
paulgardiner Robin_Watts: ping11:20.09 
Robin_Watts pong11:26.01 
talib Hello, to downgrade a version of ghostscript on archlinux, do I just delete the ghostscript directory and install a different version? I'm using emacs with AUCTeX 11.86 and Ghostscript 9.05 and whenever I try to preview a mathematical equation, I receive an error "Error: /invalidfileaccess in --file--"11:28.43 
Robin_Watts talib: Hard to say. It depends on the packaging that they've done for that distro.11:29.42 
paulgardiner Robin_Watts: I was just going to ask you if I was likely to run into problems merging master into forms, but I just tried and it seemed problem free.11:29.43 
Robin_Watts We don't do packagin.11:29.46 
  paulgardiner: Ah, cool.11:29.57 
paulgardiner Of course this means that merging forms into master would be fastforward until the next master commit.11:30.55 
Robin_Watts paulgardiner: The big thing about the merge to master is (IMHO) that tor should do it, thus giving an overall code review.11:31.50 
  but he's off this week.11:31.59 
paulgardiner Yeah and I absolutely agree, but just mentioning that the merge itself shouldn't be a problem.11:32.56 
  I need to do a cluster test to see if anything has broken.11:33.20 
Robin_Watts Ok, bumping GS_CLIENT_COLOR_MAX_COMPONENTS to 64 works fine now. Costs 2 hours in the regression runs though.11:38.53 
  All the time difference will be in PS runs, as all the others know the number of components they need and only use that many.11:40.39 
  I wonder if there is some way to keep track of how many components we're actually using...11:41.13 
  So I can't install VS2012Express except on windows 8.12:02.51 
  so, 3.3 Gig of windows 8 download then...12:03.04 
kens runs away screaming12:03.13 
Robin_Watts Thank god for vmware player.12:03.45 
Robin_Watts wonders if it'd be possible to introduce a 'num_active' field in the colorinfo struct in the graphics state.12:05.45 
  Probably that wouldn't work so well with the clist, as num_active would grow over time, then when we replayed the clist, it would increase again.12:07.12 
  Unless we put ops into the clist that go into every band saying "increase num_active"12:07.45 
kens How is it done for PDF ?12:07.47 
Robin_Watts PDF knows the number of spots in advance.12:07.56 
  so the device is set correctly once and for all.12:08.05 
kens Only if you analyse each colour space on the page12:08.12 
Robin_Watts with PS we don't know until we meet them, so it's set to a maximum number from the start.12:08.25 
kens Do we do that ?12:08.26 
Robin_Watts I believe we must.12:08.30 
kens never knew that12:08.38 
Robin_Watts cos mvrhel definitely said it was only PS that was affected.12:08.46 
paulgardiner Robin_Watts: do cluster tests, other than mujstest use mupdfshow.c? I imagined so, but seeing some strangeness12:29.20 
Robin_Watts paulgardiner: Nothing actually *uses* pdfshow. Are you seeing a compile failure for that?12:34.33 
paulgardiner Yes, because of pdf_prinnt_xref not being defined in release builds.12:35.05 
Robin_Watts Ok. Let me look at that.12:35.16 
paulgardiner Ta. I can fix it here, but maybe it should be fixed in the cluster-test build command12:35.57 
V_Tori how do I manage dict ?12:39.12 
  it seems more complicated than before12:39.24 
  I want to retrieve the title, author, etc...12:39.44 
  in the apps, you use internal stuff12:39.55 
Robin_Watts V_Tori: Yes. We hope to add a generic metadata interface for fetching title/author etc from an fz_document, so you'll be isolated from the file format, but that's not there yet.12:49.19 
V_Tori Robin_Watts: but, currently, we can retrieve them, right ?12:50.05 
Robin_Watts currently you have to get them using the dict stuff.12:50.21 
V_Tori and how do I use the dict stuff ?12:50.45 
paulgardiner Something like: pdf_to_name(pdf_dict_getp(doc->trailer, "Info/Author")))12:50.45 
V_Tori pb:12:50.56 
  doc->trainler is internal12:51.10 
  trailer*12:51.14 
  and i guess it's pdf_dict_gets and not getp12:52.59 
Robin_Watts no, it is getp.12:54.32 
V_Tori it's not in mupdf.h12:54.45 
Robin_Watts getp is a cunning addition by paulgardiner to let you get stuff by "path".12:55.02 
  It's in mupdf.h for me.12:55.09 
V_Tori not in 1.0, then12:55.17 
Robin_Watts line 75.12:55.20 
  No, not in 1.012:55.24 
V_Tori ok12:55.33 
  so, I use mupdf 1.012:55.40 
paulgardiner Ah. Multiple gets calls then.12:55.51 
Robin_Watts You can do pdf_to_name(pdf_dict_gets(pdf_dict_gets(doc->trailer, "Info"), "Author")))12:56.00 
  getp just saves typing.12:56.15 
V_Tori and pdf_to_name is not in mupdh.h too12:56.20 
  pdf_to_utf8 exists12:56.32 
Robin_Watts really?12:56.54 
V_Tori ho12:57.23 
  sorry12:57.25 
  i've not search from the beginning of the file12:57.39 
Robin_Watts ah, ok :)12:57.51 
V_Tori so, anyway, i have to include mupdf-internal.h to get trailer from doc12:58.18 
Robin_Watts V_Torri: Aha12:59.01 
  Look at win_main.c in the dloginfoptoc12:59.14 
  dloginfoproc12:59.18 
  That uses the fz_meta interface to get information.12:59.34 
  From an fz_document12:59.41 
  So, that stuff *did* make it into 1.013:00.01 
  Sorry.13:00.04 
Robin_Watts goes for lunch.13:00.09 
paulgardiner Robin_Watts: just checked origin/master and showxref seems to call pdf_print_xref. Any idea what I'm missing?13:00.21 
V_Tori hmmm13:00.22 
alexcher How to test the upcoming release? I build it and run a bunch of files. Perhaps, we can use a more formal test process?13:20.15 
chrisl alexcher: I've been using smoke.ps (slightly tweaked) and using our "public" test files13:23.58 
alexcher chrisl: that's fine, but the results are not matched against the checksums and the results of the test are not recorded.13:32.49 
kens But presumably the hash where we branched is....13:33.34 
chrisl You can clusterpush from the release "tree" but that only tests what we already test.......13:34.09 
  Given that we expect there to be differences in output between releases, I'm not sure how useful testing each release against the previous one would be, in terms of the benefits vs time it would take13:37.59 
alexcher chrisl: I want to compare the results on produced on other platforms and architectutes vs. the cluster.13:38.04 
chrisl alexcher: I'm not aware of having a method of "harvesting" md5 data from the cluster....13:39.14 
Robin_Watts alexcher: Simplest method for testing using the cluster is just to clusterpush the release.13:40.38 
  That'll be tested against the current trunk.13:40.45 
chrisl Robin_Watts: that only tests one platform, though13:41.01 
Robin_Watts The md5 data can be had from the internal cluster records easily enough.13:41.03 
  True.13:41.09 
chrisl And once we get the md5 data from the cluster, we then need a way to gather that same data on a.n.other system, and compare them......13:43.02 
paulgardiner Robin_Watts: in case you missed it when reading back - just checked origin/master and showxref seems to call pdf_print_xref. Any idea what I'm missing?13:43.45 
Robin_Watts hold on.13:44.04 
paulgardiner No hurry.13:44.19 
Robin_Watts I see it changed in a4f38e0313:45.44 
chrisl alexcher: this is probably something we need to discuss with marcosw - how about getting henrys to put it on the agenda for the Sept staff meeting?13:45.52 
Robin_Watts paulgardiner: OK. Now I see it.13:46.49 
alexcher chrisl: fine but too late for this release13:48.03 
paulgardiner Ah Tor viewed it as a typo13:48.17 
  I could remerge one back from there to avoid having to work out what this is about.13:48.51 
Robin_Watts no, let me fix it.13:48.59 
chrisl alexcher: true, but reminding me/us about it the day after I've created the release candidate isn't likely to get anything in place for the release in progress!13:49.31 
Robin_Watts paulgardiner: Patch for review on my master branch13:50.37 
  sebras: ping.13:50.46 
paulgardiner Robin_Watts: looks good to me13:55.09 
Robin_Watts pushed14:01.37 
paulgardiner ta14:02.13 
V_Tori what is the cookie param of pdf_run_page ?14:03.41 
  it's not documented14:04.00 
Robin_Watts The cookie param is documented.14:04.13 
V_Tori not in 1.014:04.24 
Robin_Watts It's a structure that allows for simple 2 directional communication between the calling app and the library.14:04.53 
  Hold on.14:05.21 
  http://git.ghostscript.com/?p=mupdf.git;a=blame;f=fitz/fitz.h;h=04215c710fa03193e7e51f8d853e9fd215b6c31e;hb=af5a6088a3c3e4d61f84d2c93a8968c04069864d14:06.23 
  Lines 1706 onwards.14:06.29 
  That's v114:06.38 
  You should always init the cookie structure to all zeros to allow for future expansion.14:07.32 
V_Tori PDF_run_page14:07.40 
  http://git.ghostscript.com/?p=mupdf.git;a=blob;f=pdf/mupdf.h;h=b88f7423040a273d02f40da7729c9324bf560c73;hb=af5a6088a3c3e4d61f84d2c93a8968c04069864d#l20214:07.53 
Robin_Watts V_Tori: So, you'd like: "cookie: See the definition of fz_cookie" inserted?14:13.18 
V_Tori if it's the same, then ok14:13.43 
  yes14:13.55 
  that would be sufficient14:14.11 
  not only, btw, but also definition of fz_run_page14:14.51 
  declaration of*14:15.01 
Robin_Watts mvrhel: Is that really you?14:24.24 
V_Tori fz_new_text_span disappeared ?14:36.22 
Robin_Watts V_Tori: Urm...14:39.55 
V_Tori it's now sheet instead of span ?14:40.25 
Robin_Watts No, it's not that simple.14:40.39 
  IIRC sheet holds a list of styles.14:40.48 
V_Tori i'll check that in an app14:41.49 
  while i'm seeing it: bug in doc (at least in 1.0) :14:42.05 
Robin_Watts You probably want to create a page, and then we'll fill in blocks/lines/spans into that.14:42.07 
V_Tori doc of fz_clear_pixmap14:42.21 
  the function name is fz_clear_pixmap_with_value14:42.36 
  copy/paste error :)14:43.07 
mvrhel Robin_Watts I am here. Just give me 15 minutes to help get the kids out the door to swim lessons14:51.23 
Robin_Watts no worries.14:53.16 
henrys kens:yes compare against 1.4 but I think a 1.5 run would be useful also, it will help us set priorities.15:00.47 
kens henrys yes, I thik I said I'd be interested in a 1.5 test15:01.05 
  But a comparison with 1.4 would be more immediately useful I think15:02.46 
mvrhel Robin_Watts: I am here now15:22.02 
Robin_Watts mvrhel: OK. The tests with max components of 64 seem to be running just fine now.15:22.46 
mvrhel awesome15:22.54 
Robin_Watts but it adds 2.25 hrs to the runtime.15:23.07 
  All the slowdown is in the 'gs' ones, (as opposed to xps, pcl, gs+pdfwrite etc)15:23.37 
  Which I guess makes sense, because it's only .PS files that are affected by this, right?15:23.54 
  I was wondering if it was possible to somehow limit the amount of unnecessary work we do when 90% of the time we don't need all the spots.15:25.01 
mvrhel Robin_Watts: right because we max out the ps files always due to us not knowing like we do in pdf the number of colorants on each page15:25.09 
Robin_Watts right.15:25.15 
  I was pondering the idea of having a "num_active" field in the color_info or something.15:25.32 
  So for CMYK+spot devices, num_active would start at 4, and would increase as we meet each new spot color.15:26.07 
mvrhel Robin_Watts: why would we not be able to do that with num_components now?15:26.34 
Robin_Watts Each drawing operation would know that it only had to deal with "num_active" components, rather than GS_CLIENT_COLOR_MAX_COMPONENTS15:26.45 
  mvrhel: Aren't various spacing calculations done with num_components ?15:27.07 
  We'd want to calculate things like banding etc based on the maximum number of possible spots.15:27.22 
mvrhel well use max for those then15:27.41 
henrys` urm you guys forgot to put people in the seats at the olympics - a minor oversight15:27.53 
Robin_Watts OK. So you don't think this is a stupid idea?15:28.00 
mvrhel Robin_Watts: I didn't say that ;)15:28.11 
Robin_Watts henrys`: Yeah. They are talking about drafting in the army to help fill them :/15:28.23 
mvrhel Just that we already have the information you want I believe15:28.30 
  in color_info15:28.33 
  but this sounds like a nightmare a bit to me15:28.47 
Robin_Watts mvrhel: I thought num_components was set to the maximum value?15:28.56 
mvrhel for PS it is now. But not for PDF15:29.12 
  My question was why not have it changing for PS like we do for PDF15:29.30 
Robin_Watts Right. It's specifically the PS case I'm talking about.15:29.36 
mvrhel which is what I thought you wanted to do15:29.36 
Robin_Watts I thought the PDF case it was calculated at the start of the page and set there.15:29.55 
  So it doesn't change during the running of page marking operations.15:30.06 
mvrhel right15:30.09 
  I see 15:30.13 
Robin_Watts (important for things like the clist etc)15:30.16 
  Having a value that changes could give us grief with patterns, maybe? And we'd have to be careful so that when reading the clist, we knew how many colors we thought we were writing for when we read it back.15:31.10 
paulgardiner henrys: It's probably the seats that the G4S security guards were supposed to be sitting in.15:31.14 
mvrhel the color_info is used in so many places, I worry about the number of hiccups that may occur having it change 1/2 way through a page rendering15:31.24 
Robin_Watts mvrhel: Right.15:31.32 
  mvrhel: Another idea, which may be simpler, is to spot the case where we are writing an empty bitmap to the clist.15:32.15 
  so copy_planes will be less painful.15:32.34 
mvrhel that would be good yes15:32.35 
Robin_Watts I've had a crack at that.15:32.44 
mvrhel Robin_Watts: so how much did the move up to 32 hurt us time wise?15:35.24 
chrisl Robin_Watts: in the short term, could we limit the number of active planes from the command line? Postscript would rarely have more than 8-12 plates in a job15:35.27 
Robin_Watts chrisl: It's currently a compile time option.15:35.46 
mvrhel That would make more sense15:35.49 
  to add in a command line option15:35.55 
Robin_Watts Going to 32 cost us about 30 mins, I think.15:36.07 
mvrhel generally someone is going to know ahead of time how many colorants they have15:36.18 
Robin_Watts Really? You think Gemma would know, for example?15:37.04 
chrisl Robin_Watts: they're all PDF15:37.15 
mvrhel right15:37.19 
Robin_Watts Well, compiling with MAX_COMPONENTS = 64 and then having a runtime value for ps that defaults to 32 seems a good approach.15:38.15 
V_Tori can someone describe the meaning of the following links :15:38.19 
  FZ_LINK_LAUNCH,15:38.22 
Robin_Watts Then people can push the 32 to 64 if they want.15:38.23 
V_Tori FZ_LINK_NAMED,15:38.24 
  FZ_LINK_GOTOR15:38.25 
  ?15:38.27 
Robin_Watts V_Tori: They exactly mirror the PDF spec.15:38.36 
V_Tori (for the outline, for example)15:38.44 
  heh, unfortunately, i've no spec15:38.57 
Robin_Watts LAUNCH = a string to launch. (so 'run this file')15:38.59 
  NAMED = a named target in another file.15:39.07 
  GOTOR = Goto a page in a remote file.15:39.16 
V_Tori ok15:39.21 
  thanks15:39.23 
chrisl Robin_Watts, mvrhel: If we limit the maximum plates to 12 for Postscript files, and leave PDF as it is, we'll still get good coverage of large numbers of spot color plate handling, but not have the extra cluster time.15:39.25 
mvrhel right. I really wonder if we want pdf to be at 32 to be honest with yoy15:39.49 
  you15:39.51 
Robin_Watts AIUI, having the CLIENT_MAX set to 64 wouldn't hurt us at all, as long as the ps max becomes a runtime thing that's lower.15:40.35 
mvrhel ok15:40.48 
Robin_Watts There is no intrinsic slowdown caused by having a CLIENT_MAX of 64.15:41.01 
chrisl I've seen at least two PDFs with 36 plates in them (four process + 32 spots) - I don't think that's common - I *hope* that's not common!15:41.16 
Robin_Watts So having that set to 64 and having a runtime "max spots" thing for PS would seem an ideal solution - except that PS users need to know that they can supply a command line flag to up that number of spots.15:41.50 
mvrhel right15:42.06 
Robin_Watts Ok. I've installed windows 8, and they've taken my start button.15:42.41 
  How the hell can I get to my installed programs?15:42.49 
chrisl Robin_Watts: the cluster already has slightly different command lines for PS and PDF - I'd say default to the maximum, and have a command line to limit the number of available plates.15:42.55 
Robin_Watts chrisl: So we slow our customers down, just not us? :)15:43.16 
chrisl Robin_Watts: then we document the option, of course......15:43.39 
mvrhel this all sounds good to me15:45.30 
  henrys: when is the ironman?15:46.00 
chrisl Robin_Watts: the other option would be to have a "flat" clist, so we can calculate the bands *after* the clist is created, and take the hit of executing the whole page description once for each band.....15:46.42 
Robin_Watts chrisl: We could have a record of the number of active colors.15:47.29 
  That would start at 4 for CMYK + spots files, and increase each time we meet a new spot.15:47.45 
henrys mvrhel:sunday15:47.47 
Robin_Watts we'd have to write a command "new spot" to the clist each time we met a new color.15:48.11 
  That way, the clist on playback could know how many colors it was dealing with at each point.15:48.29 
  but it's a lot of effort.15:48.35 
chrisl Robin_Watts: we'll still have the wasted memory of the unused to plates, then15:48.48 
Robin_Watts we'd still calculate band sizes as if we had all the planes, yes.15:49.12 
  but we'd not have to write every single plane into the clist.15:49.29 
  only the used ones.15:49.34 
chrisl You'd need to write the "erasepage" fill to all the planes, wouldn't you?15:49.59 
Robin_Watts All planes would be created erased.15:50.37 
chrisl Huh?15:50.58 
henrys can everybody please give the release candidate a go on whatever platforms you have immediately available?15:52.17 
Robin_Watts OK, so the fillpage clist thing would hit all the planes.15:52.52 
chrisl I suppose all spot plates could be created erased - it is possible to erase to something other than white.......15:52.52 
Robin_Watts If we are erasing to something other than white, then the spots must be defined at that point, right?15:53.21 
  (Sorry, if we erasing to something where a given component is non zero, then that component must be defined (must be active) at that point)15:53.53 
chrisl Yes, that just occurred to me as I was typing - it's extremely rare, and I doubt anyone would want to erase anything other than process plates to anything other than white......15:54.18 
Robin_Watts I cannot see how they ever *could* erase spots to non-empty, unless they somehow define the spot before the erase.15:54.57 
chrisl Robin_Watts: normally, a device knows what inks it has access to, so the spot plates are, by definition, defined before the erase15:55.42 
Robin_Watts It's hairy for things like patterns, because we might get a pattern defined when we only have 4 colors, then have it played back when we have 8.15:55.52 
  Can we do some funky interogation of the device to find out what spots there are from a device before we start ?15:56.47 
kens Robin_Watts : not in a device-independent manner15:57.04 
Robin_Watts My understanding was that with PS we didn't know about spots until we actually met one.15:57.05 
chrisl Robin_Watts: the whole point of tiffsep and co is that they handle *any* spot color the input requests15:57.19 
Robin_Watts As I say, this sounds like a much larger, hairier project than just having a runtime configurable max.15:57.52 
chrisl I think being smarter about this is going to be quite a big project!15:58.49 
Robin_Watts So do we want -dMaxSpots= or something?15:59.05 
  or -dMaxComponents= ?15:59.16 
chrisl I'd prefer a maximum spot plates setting, rather than an overall maximum plates setting, but that's just MHO.....16:00.38 
mvrhel I agree16:00.45 
  -dMaxSpots16:00.51 
Robin_Watts actually... is num_components still set to 32 even on devices like ppmraw ?16:01.00 
mvrhel ?16:01.13 
  ppmraw should be 316:01.39 
Robin_Watts At the moment, for PS files and the tiffsep or psdcmyk device (devices that cope with spots), we have num_components set to a large number.16:01.45 
mvrhel right16:02.00 
Robin_Watts Is it only those devices that are thus affected?16:02.06 
mvrhel yes16:02.10 
Robin_Watts So the 2 hour slowdown we're seeing comes JUST from the psdcmyk device?16:02.27 
mvrhel so should this be a device parameter16:02.30 
  Robin_Watts: should be16:02.36 
Robin_Watts Wow.16:02.40 
  I'm surprised it didn't manifest as timeouts then.16:03.00 
mvrhel Robin_Watts: maybe you should do a check with some other devices on the cluster. eg. plank16:03.34 
  with and without 6416:03.44 
Robin_Watts yeah. I'll run some tests.16:03.55 
  We can scrounge some time back from the psdcmyk device by doing the tempfile thing to avoid rerendering multiple times.16:04.39 
  I suspect that I need to look at the downscaler too; if the bandheight is not a multiple of the downscale factor, then it's going to rerender bands I think.16:05.39 
kens OK I'm off for now, goodnight all16:10.43 
mvrhel henrys: so what kind of training things do you do in this last week?16:12.19 
henrys last weekend I did the race in separate pieces and now I'm resting this week16:14.18 
alexcher rc1 doesn't build on ppc32 Linux, the bug is somewhere in lcms2.16:14.53 
chrisl alexcher: it builds for me on ppc32 Linux......16:15.33 
henrys mvrhel:mainly worried about the heat16:16.22 
mvrhel henrys: I imagine. 16:16.35 
alexcher chrisl: it looks like I need to debug this.16:16.53 
henrys supposed to be in the 90's ...16:17.01 
chrisl alexcher: what distribution/version are you running?16:17.13 
V_Tori Robin_Watts: another question :16:17.17 
  in fz_link_dest_s, there is an union16:17.32 
  especially, gotor struct16:17.43 
  is that gotor struct also valid for a goto link ?16:18.00 
mvrhel henrys: hopefully they will have plenty of watering stations16:18.25 
alexcher chrisl: Debian stable, a few years old, gcc 4.3.216:18.29 
Robin_Watts V_Tori: Yes, same struct, but with a NULL remote pointer.16:18.54 
V_Tori perfect16:19.00 
  thanks16:19.02 
  the api is, imho, quite better16:19.14 
  but new to me16:19.19 
  so i'm a bit lost16:19.24 
Robin_Watts Yes, we spent a lot of time revising the interface for 1.0. It is different, but better that than carrying around too many inconsistencies for ages.16:20.08 
henrys mvrhel:the race is very well organized. Boulder triathlons are big events that bring in the serious athletes and organizers.16:20.14 
chrisl alexcher: I might have testing or unstable on mine - let me check......16:20.26 
V_Tori hmm16:20.44 
  about outline16:20.49 
  before there was a child member16:21.01 
  now there are 2 links : next and down16:21.15 
  ha16:21.34 
  ok16:21.36 
  binary tree16:21.38 
chrisl alexcher: actually, no, I'm running Debian stable - "squeeze" 6.0.4.....16:24.55 
  and gcc 4.4.516:25.50 
  alexcher: it looks like lcms2 is assuming that at least a couple of C99 macros are available - that could be bad :-(16:33.50 
alexcher chrisl: lcms defines CMS_DONT_USE_INT64, and assigns one array to another.16:35.16 
chrisl alexcher: it looks like lcms2 won't build without a C99 compiler :-(16:39.02 
alexcher chrisl: It will, wait a minute.16:39.37 
Robin_Watts chrisl: It builds on windows (VS2005), and that's not C99.16:41.11 
chrisl Robin_Watts: no, but it's >C89, though. I'm trying to build with gcc using the "-std=c89" option, and it don't work - it might assume that gcc is c99, I suppose....16:43.13 
Robin_Watts Gawd. CUPS needs winsock2.h for it's http stuff. What the hell is that doing in gs ?16:43.39 
chrisl Robin_Watts: someone felt it was needed so Windows users could debug cups problems.....16:44.20 
Robin_Watts :)16:44.36 
chrisl We really ought to remove it from the standard set of devices, though16:44.46 
alexcher chrisl: builds now. should I open a bug and attach my patch?16:44.49 
chrisl alexcher: sure, thanks.16:45.05 
Robin_Watts I have no objections to cups being a standard windows device. I object to it having crap in that we never use.16:45.17 
  and I fail to see how we need anything http related.16:45.28 
chrisl Robin_Watts: we don't, but cups does....16:45.39 
  cups is *only* in the Windows build for our (and possibly other developers' use), it's completely pointless from a user's point of view, so I really don't think it should be in the Windows build by default.16:47.05 
Robin_Watts Yeah, fair enough.16:49.05 
chrisl I just forgot to remove it ......16:49.38 
halfie_ any mupdf developers around? mupdf can't handle encrypted PDF files generated by Acrobat Pro X17:03.55 
Robin_Watts halfie_: hi. really? Can you give me an example file?17:04.27 
halfie_ Robin_Watts, sure http://openwall.info/wiki/_media/john/pdf_samples.tar17:05.06 
  and look for test-X-AES-256-open-testpassword.pdf file17:06.08 
  Robin_Watts, password is "testpassword"17:07.09 
henrys chrisl:well I've smoke tested on mac and linux boxes here - wasn't expecting to find anything but best to be safe.17:09.01 
chrisl henrys: thanks. I've done something on Linux x64/PPC32, Windows (32 and 64 bit), Solaris/Sparc and Mac (x86) - but only a few files on each.......17:11.04 
Robin_Watts halfie: OK, it's using V=5, R=6 - we don't support that currently. let me look.17:11.36 
halfie_ Robin_Watts, in that file I see OE and UE strings which I haven't seen before17:13.07 
Robin_Watts we seem to have code for dealing with OE and UE.17:16.03 
pipitas V_Tori: you said you've got no PDF spec. The one for PDF-1.7 (ISO 32000) is here: http://www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf17:19.25 
V_Tori thanks17:20.15 
Robin_Watts The U and O strings are 127 bytes long. That seems odd to me.17:22.57 
halfie_ Robin_Watts, I trust Adobe to do crazy things!17:25.15 
Robin_Watts V=6 is specified in ISO32000-2, apparently. i.e. PDF 2.017:26.03 
  henrys: Do we own a copy of the PDF 2.0 spec?17:26.52 
  http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=37&ics2=100&ics3=99&csnumber=5304117:26.59 
henrys Robin_Watts:not that I know about17:27.37 
chrisl Yay! Gold for Wiggins :-)17:28.16 
henrys that's great especially after the let down at the road race.17:29.36 
chrisl Yeh, the road race course was not a good route for that team17:30.06 
Robin_Watts Aha: http://esec-lab.sogeti.com/post/The-undocumented-password-validation-algorithm-of-Adobe-Reader-X17:31.35 
chrisl alexcher: is that patch for PPC32 complete? It doesn't seem to address the missing ULONG_MAX and ULLONG_MAX issue?17:31.59 
  alexcher: ah, scratch that, I see what's going on......17:33.32 
Robin_Watts halfie_: I can't promise when we'll get to look at that.17:34.38 
  sebras: ping ?17:34.42 
chrisl alexcher: I'm happy with the patch, if you want to commit it to master, I'll cherry pick onto the release branch17:35.01 
halfie_ Robin_Watts, no problem, I have plenty of stuff to do first before I start dealing with Acrobat X. Thanks!17:35.23 
V_Tori if i have a destination like outline->dest.kind == FZ_LINK_GOTO17:38.31 
  how can i get the page number ?17:38.39 
  pdf_lookup_page_number requires a pdf_obj as 2nd param17:39.05 
  and i don't know what to pass17:39.12 
Robin_Watts outline->dest.gotor.page ?17:40.27 
V_Tori this is an int17:40.58 
  not a pdf_obj *17:41.04 
  (in 1.0)17:41.07 
Robin_Watts outline->dest.ld.gotor.page, sorry. That's just an int.17:41.08 
  Why isn't an int what you want?17:41.32 
V_Tori pdf_lookup_page_number(pdf_document *doc, pdf_obj *pageobj);17:41.58 
Robin_Watts Right. The int in the goto link_dest is in fact the result of calling pdf_lookup_page_number.17:42.19 
  You just want to go to that page.17:42.30 
V_Tori ho17:43.16 
  i'm stupid17:43.21 
  i can just get the page...17:43.27 
  it's just that the api was different in 0.917:43.37 
mvrhel bbiab17:51.06 
ray_laptop Robin_Watts: I saw the comments about num_components for PS, and I'd to explore more.18:04.45 
  Robin_Watts: I understand that with PS we don't know the actual as we do with PDF, but in clist mode, we know when the page is complete what the count was.18:05.51 
  Robin_Watts: if we avoid creating the planes and doing the render loop for the planes, that would help, right ?18:06.45 
henrys hmm a periodic squeaking about one hertz coming from the macbook18:09.34 
ray_laptop mvrhel: is all of the slowdown just with the psdcmyk device that supports the planes ?18:09.56 
  henrys: hope it's not a failing fan bearing -- watch the cpu temp18:10.48 
  henrys: or does it go away if you plug in headphones ?18:11.11 
henrys yep temp looks okay right now but I'll watch it.18:11.25 
ray_laptop henrys: maybe you have a cricket virus ?18:11.28 
henrys ;0)18:11.55 
ray_laptop Robin_Watts: how about adding a 'type' to fz_document so the client knows if it is 'OK' to cast to pdf_document ? (sort of like gs has with it's confused imager_state/gstate)18:20.18 
Robin_Watts ray_laptop: There should be no need to cast, ideally.18:27.34 
  fz_meta should avoid that.18:28.13 
  ray_laptop: The problem with speed, is largely, I suspect, in the clist writing phase.18:28.39 
  ray_laptop: I don't know about which devices are slowed down. I hope it's just psdcmyk.18:29.11 
  I'm going to test that.18:29.14 
ray_laptop Robin_Watts: Since clients may want to access stuff from pdf dicts, I still think some way to know the document type would be nice -- doesn't have to be a 'type' element in the struct, but _something_18:47.29 
  Robin_Watts: since DeviceN colors are written to the clist with a 'mask' so that components that are 0 can be skipped, and since we always write a 64-bit mask, then I don't know why clist writing would be much slower for 64 vs. 3219:15.46 
  Robin_Watts: if you do performance checks, please use -Z: so we can see the clist writing vs. rendering time comparison between 32 and 6419:16.53 
  Robin_Watts: if you decide not to do the performance comparison, let me know and I'll do it19:17.19 
Robin_Watts ray_laptop: My plan was simply to run cluster tests with filter=ppmraw with and without the bump to 64.19:17.55 
  ray_laptop: It's stuff like copy_planes I expect to be slower.19:18.18 
  we'll be adding 32 extra planes, all 0's into the clist.19:18.31 
  I am testing a patch now that should make planes that are all the same value take a lot less space in the clist.19:19.14 
ray_laptop Robin_Watts: I see -- well, we could add a mask as well for planes that are 019:19.40 
  Robin_Watts: there is a gx_dc_devn_get_nonzero_comps function19:20.14 
Robin_Watts ray_laptop: How does that help with bitmaps?19:24.19 
ray_laptop doesn't help with that, so your patch to detect planes that are 0 sounds like it is needed19:25.43 
  Robin_Watts: copy_planes is primarily used for patterns, right ?19:27.01 
Robin_Watts Sounds plausible.19:27.38 
ray_laptop but for copy_mono (text) and hl fill and stroke, the colors are written more efficiently already (with the mask)19:27.44 
Robin_Watts ray_laptop: Patch seems to test out OK. http://git.ghostscript.com/?p=user/robin/ghostpdl.git/.git;a=commitdiff;h=6fb466727ab6cb2558acc69b890cf5b49c69df5819:35.35 
  Being as it's clist, if you wouldn't mind casting your eyes over it, I'd appreciate the double check.19:36.02 
ray_laptop Robin_Watts: sorry -- was on the phone. I'll had a look. Does it make any difference (performance) ?19:51.08 
  Robin_Watts: looking at your most recent regression, it doesn't look like it, but your code is way behind origin/master so it's hard to tell19:52.00 
Robin_Watts My most recent regression was ppmraw only.19:52.20 
  I'm trying ppmraw with 64 now.19:52.34 
ray_laptop Robin_Watts: I thought we expected the difference with psdcmyk (does ppmraw use planar mode by default ?)19:53.31 
ray_laptop didn't think so19:53.46 
Robin_Watts I'm testing several things at the moment.19:54.41 
  The ppmraw vs ppmraw+64 thing is to see if the max components stuff makes a difference to non psdcmyk devices.19:55.07 
ray_laptop Robin_Watts: I see. I'll wait for the testing then. The patch looks OK19:55.15 
  Robin_Watts: I'd be surprised if it did, since we use the Alternate colorspace for DeviceN colors if the device doesn't support devn19:56.17 
Robin_Watts I was vaguely hoping that we'd see a performance improvement on the whole clusterpush @ 32 due to the 'all zero' patch, but didn't see it. I'll try a complete push @ 64 in a bit.19:56.34 
ray_laptop but it's worth checking19:56.37 
Robin_Watts ray_laptop: Yes, I really hope we aren't seeing a slowdown in ppmraw, but that's the purpose of the test.19:56.58 
  OK. ppmraw @ 32 = 5:34:06, ppmraw @ 64 = 5:38:26. That's well within the experimental error.19:57.53 
ray_laptop Robin_Watts: it's probably pretty rare to get constant bitmaps from patterns and text except for planar mode where a plane (component) is blank19:57.53 
  Robin_Watts: I think running filter=psdcmyk would be worthwhile with 32 and 64 would be worthwhile19:59.01 
mvrhel I was wondering about pkmraw Robin_Watts 19:59.11 
  that uses planar19:59.14 
ray_laptop since that's where we expected the 'hit'19:59.15 
mvrhel I mean plank20:00.19 
  not pkmraw20:00.23 
  but again that should be using the alternate tint transform20:00.43 
  but perhaps just doing what ray_laptop suggests20:01.03 
Robin_Watts Let me try a full 64bit run with my patch.20:01.37 
ray_laptop I expect the pscdmyk preformance to be similar to tiffsep which is what we have customers using20:02.00 
Robin_Watts Dinner time. will check back in later.20:02.44 
ray_laptop Robin_Watts: did you update your tree ? (if not, hopefully the other changes you were missing won't make/mask a difference)20:09.50 
  I haven't looked to see what CMS_DONT_USE_INT64 is on a peeves build20:11.49 
  hopefully it only affects ppc so missing that patch won't be relevant20:16.06 
  wow!! with the change to 64, it is 1 hour slower (out of 18.5) about 6% hit. Given that the change to 32 cost us 1/2 hour that takes us from < 18 hrs to 19.7 hours for gs20:36.46 
Robin_Watts Urm...20:37.09 
ray_laptop and it adds 15 new timeouts 20:37.29 
Robin_Watts With the change to 64, it's 1 hour slower out of 31 and a quarter.20:37.33 
ray_laptop Robin_Watts: I'm looking at the 'gs' time (which is where the 1 hour comes from)20:37.58 
Robin_Watts right.20:38.02 
ray_laptop Robin_Watts: and I suspect that if you only ran a gs filter=psdcmyk the comparison would be even worse20:38.38 
Robin_Watts I suspect if I did that the proportion that changed would be worse, yes.20:38.55 
ray_laptop but if the slowdown is seen with psdcmyk, then only those using DeviceN planar devices will (probably) see it20:39.25 
  as long as other devices aren't affected, then it won't hit everyone.20:39.57 
Robin_Watts I'm going to back out my patch and run again at 64 to try and see what the benefit or otherwise of that patch is.20:40.20 
ray_laptop I think a run with 16 (or 14), 32 and 64 is psdcmyk is worth doing to make sure that the 30 minute hit we took when we went to 32 was just concentrated in that device.20:41.38 
  Robin_Watts: can we focus on gs psdcmyk ?20:42.06 
Robin_Watts ray_laptop: Let my current test run through, to complete the dataset for now.20:42.33 
  Then we can run psdcmyk tests at different color maxes.20:42.52 
  That'll probably be tomorrow.20:42.59 
ray_laptop I _really_ don't want customers coming back to us with 9.06 release saying "it's slower than 9.05"20:43.05 
  Robin_Watts: I'm willing to do the tests of 14, 32 and 64 (with or without your patch) while you are sleeping20:43.58 
Robin_Watts Go for it.20:44.05 
tkamppeter I am trying to package GS 9.06rc1 now.20:44.14 
  I have a build problem: I build with --disable-gtk and it tries to build the gsx executable anyway and this fails, probably due to a variable not populated because of --disable-gtk.20:45.29 
  See output at http://pastebin.ubuntu.com/1124135/20:46.42 
ray_laptop Robin_Watts: MAX_COMPONENTS_IN_DEVN seems to be #defined but never used -- any idea what it's for ?20:53.18 
  mvrhel: same question for you20:53.43 
  oops -- I found it in icremap.c (I only searched base/*)20:54.40 
V_Tori hmm, should the rotation be managed by the user, now ?20:55.00 
  that is, I have a member rot, and i use a matrix to perform rotation20:55.40 
  (before, a pdf_page had a rotation member, iirc)20:55.54 
  or rotate member20:56.08 
ray_laptop bbiaw20:58.24 
chrisl_away tkamppeter: Fix for your build problem ---> http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=d723d72b21:18.53 
tkamppeter chrisl_away, thank you for the quick fix, I will try it now.21:21.14 
Ch3rryC0ke Hey there-- I'm trying to figure out the best way to work with GitHub and the mupdf repo. Can anyone help?21:48.07 
sebras Ch3rryC0ke: I know how to clone and work with the upstream mupdf repo, but I haven't really used github.21:48.47 
  Ch3rryC0ke: is there any specific problem you are having?21:48.59 
Ch3rryC0ke sebras: basically I want to be able to clone the mupdf repo, keep my changes to it, store my changes on github, and still be able to pull in new upstream changes21:49.31 
rsc Evening folks...I'm looking for ideas about how to tune ghostscript on ARMv5. At the moment it takes about 10 seconds to process a *.ps -> *.pdf which takes about 1-2 seconds on a regular Intel arch21:49.35 
Ch3rryC0ke I tried adding mupdf as a submodule to my repo, which works, but then I'm not sure how to push my changes to the submodule to my repo21:50.07 
sebras Ch3rryC0ke: what is the url of the submodule? is that the upstream url?21:50.37 
  Ch3rryC0ke: if so then you do not need to push any change to the submodule repo.21:50.56 
ray_laptop rsc: does your ARM have FP h/w ?21:50.57 
Ch3rryC0ke The url of the submodule is git://git.ghostscript.com/mupdf.git21:51.05 
sebras Ch3rryC0ke: git submodule will pull all commits from the upstream repo instead.21:51.18 
Ch3rryC0ke So what's the best way to do this then? I want to be able to pull commits from upstream as well as store my own commits, and have all that on github21:51.47 
ray_laptop rsc: Also, pdfwrite uses 'temp' files, so moving those to a RAMDISK or faster disk can make a BIG difference21:51.49 
  rsc: if your tempfile drive is slow21:52.06 
sebras Ch3rryC0ke: with git submodule you will not have a clone of the upstream repository on github. do you want to have that?21:52.31 
ray_laptop rsc: but ARMV5 ? Seriously, aren't 8 and 9 cores common now ?21:52.54 
Ch3rryC0ke sebras: I think that's what I want. If that lets me commit my own changes and pull new changes, then yes.21:53.00 
sebras Ch3rryC0ke: also git submodule is more useful for one project that includes another probject (like mupdf including freetype e.g.).21:53.00 
Ch3rryC0ke sebras: Right I'm building a project that includes mupdf21:53.14 
rsc ray_laptop: it's softfloat, I think. And vmstat(1) says, I'm spending the time on CPU, not on I/O at disk21:53.16 
  ray_laptop: Raspberry Pi ;-)21:53.28 
Ch3rryC0ke sebras: I'm building a win 8 metro app based on mupdf21:53.29 
sebras Ch3rryC0ke: ok, my suggeestion then is that you have a branch on top of upstreams master branch that you rebase every time up decide to pull down new changes from upstream.21:53.55 
ray_laptop rsc: well, pdfwrite uses MUCH more FP than gs does when rendering21:53.58 
sebras Ch3rryC0ke: or you have a branch that you merge changes to from upstreams master.21:54.28 
  Ch3rryC0ke: either way will probably be fine in your case.21:54.40 
Ch3rryC0ke sebras: Ok, so to set that up, I would clone the upstream master of mupdf.git, create a local branch, and then push the local branch to github ? How do I do the last step?21:55.42 
sebras Ch3rryC0ke: yes that seems like a good approach.21:55.59 
  Ch3rryC0ke: I'm not sure yet.. *reading github tutorials* :)21:56.09 
Ch3rryC0ke Me too ;) I posted a question on stackoverflow about this: http://stackoverflow.com/questions/11751152/how-to-manage-a-project-on-github-that-has-an-external-git-dependency-not-stored21:56.41 
sebras Ch3rryC0ke: seems like something along the lines of: git remote add github git@github.com:mupdf-winrt.git; git push github master-branch-with-patches ought to work fine.21:57.14 
ray_laptop rsc: you can try 'tuning' the "vmthreshold" to see if reducing the frequency of GC (garbage collection) helps. The default is 1000000 try: -c 16000000 setvmthreshold -f before your input file21:58.11 
sebras Ch3rryC0ke: I pieced that together from: http://goo.gl/3lnIe21:58.18 
Ch3rryC0ke sebras: thanks, will try that in a sec. So are you familiar with WinRT then? ;)21:58.47 
ray_laptop rsc: other than that, I can't think of anything offhand. If you do a profile build (make pg) then you can figure out where the hot spots are and we might be able to suggest something22:01.16 
rsc ray_laptop: Features: swp half thumb fastmult vfp edsp java tls - that's what the CPU says22:01.39 
ray_laptop rsc: just curious -- what clock rate and memory capacity and speed? We have some ARM boards that we can test on to see if we see similar times, but running on a similar system is better22:03.10 
rsc ray_laptop: 700 MHz CPU, 250 MHz GPU, 256 MB SDRAM 400 MHz, shares 16 MB to GPU.22:06.02 
ray_laptop rsc: I think we have a similar clock rate. Not sure about SDRAM speed. Is this an available board/system ?22:08.27 
rsc ray_laptop: Raspberry Pi, model B (the standard one)22:08.48 
ray_laptop rsc: thanks.22:08.55 
  rsc: that is an ARM11 core22:12.25 
rsc raythat one you have?22:13.42 
ray_laptop rsc: this doesn't have a disk -- how are temp files handled ?22:13.59 
ray_laptop hopes that you don't say 'USB disk'22:14.24 
rsc SD card22:14.24 
  MMC, thus USB disk somehow.22:14.47 
ray_laptop rsc: none of us have that one (AFAIK) -- I was just looking it up22:15.32 
rsc however, it writes5 MB/s in scp(1) easily onto that SD card22:15.47 
ray_laptop rsc: are you using "Raspbian" ? (or if not, what OS?)22:16.36 
rsc nope, Fedora.22:16.42 
Ch3rryC0ke sebras: that did the trick. A little different always being in the branch but it seems to work, I have a Github repo that has the mupdf code that I can pull in upstream changes and push my branch to github22:16.56 
  sebras: thanks!22:17.06 
ray_laptop rsc: 5 Mb/sec is VERY slow -- most disk drives are 50Mb/sec or better22:17.07 
  rsc: and SD drives I have seen are at least 200 Mb/s22:17.39 
  rsc: (that's write time) Read rate is usually > 300 Mb/s22:18.02 
rsc ray_laptop: well...it's scp additionally. I should likely do it without scp ;)22:18.02 
ray_laptop rsc: 'scp' ?22:18.31 
rsc scp tux@bar:foo .22:18.41 
ray_laptop rsc: I see -- so that's how you are guessing the SD card timing (timing of an scp execution) ? That's not as good as just copying some existing large file from SD to SD22:21.15 
rsc ray_laptop: it only handles one SD22:21.33 
ray_laptop rsc: your network speed enters into it.22:21.37 
rsc oh, from same to same SD? Can try.22:21.43 
ray_laptop rsc: even reading and writing from the same SD should give a better number22:21.55 
  rsc: I usually just time making a copy of the OS image file (it's usually > 1Mb)22:22.32 
rsc 104857600 bytes (105 MB) copied, 4.6091 s, 22.8 MB/s22:22.59 
ray_laptop rsc: or you can concatenate 10 copies to a single file :-)22:23.02 
rsc (dd from /dev/zero to file)22:23.15 
  repeating is between 22 and 25 MB/s22:23.29 
ray_laptop rsc: OK. That's a decent write time22:23.36 
rsc that's even more a Class 10 is made for by standard AFAIK22:23.58 
ray_laptop rsc: that is consistent with your IO time mentioned above22:24.06 
  rsc: so I guess profiling to see where the time is going is what you have to do22:24.27 
rsc ray_laptop: is there somewhere a pointer about how to do that?22:24.48 
ray_laptop rsc: I haven't done it, but if your gcc supports -g then "make pg" will do a profile build. Then running it will produce a file that 'gprof' can decode22:26.41 
  rsc: Robin_Watts has done this on ARM, iirc -- but he is in the UK, so it is late for him22:27.16 
rsc I'm in UTC+2 ;)22:27.30 
  ray_laptop: well, -g is supported in Fedora, I think. So will do the "make pg". gprof can be run then on a normal Intel hardware to read that result?22:28.17 
ray_laptop well, he usually starts a bit late for London TZ, but check in tomorrow AM and he should be able to help22:28.20 
  rsc: I'm not sure about running gprof on a different arch to the one that generated it (I mostly use x86 with profiling)22:29.19 
rsc oki, doesn't then also matter anymore ;)22:29.47 
ray_laptop rsc: ?? I didn't parse that22:30.18 
rsc ray_laptop: if gprof needs to be run on the same arch, it's also okay. I'm now used to slow ARM ;)22:30.44 
ray_laptop rsc: thanks. Well, give it a try and see what comes up.22:31.20 
rsc I'm now starting a build, will likely anyway take the half night22:32.08 
ray_laptop rsc: I am in CA, US so I'll be here for a while yet. I'll watch the logs in case you have any info...22:32.33 
  I have to run an errand now. bbiaw22:32.45 
rsc ray_laptop: thanks for your time so far :)22:32.57 
ray_laptop rsc: you are welcome. You are the 'pioneer' with doing pdfwrite on a (slow) ARM system22:33.37 
  AFAIK22:33.54 
  rsc: BTW, out pdfwrite specialist, "kens" is also in London TZ and he starts earlier. But he doesn't have an ARM system, AFAIK22:35.13 
  rsc: he may have some ideas about what's slowing down pdfwrite22:35.53 
  (it sounds rather slow, even for a 700 MHz CPU)22:36.19 
Robin_Watts Hey rsc.22:45.03 
  Just reading the logs now.22:45.08 
rsc ah22:45.25 
Robin_Watts So you've got a raspberry pi, and you're trying to use gs with pdfwrite?22:47.49 
rsc right22:48.10 
Robin_Watts I'd recommend using oprofile if you have it in your kernel.22:48.14 
  an ARM11 chip is ARMv6, but I fear has no hardware FP.22:50.01 
  and I fear it will be FP that's killing you.22:50.39 
rsc "swp half thumb fastmult vfp edsp java tls" in /proc/cpuinfo22:51.32 
Robin_Watts vfp = Vector Floating Point.22:52.57 
  So Professor google says there is hardware fp support in the raspberry pi's chip, but not all distros support it.22:54.52 
  it's not helped by the fact that ARM abandoned VFP for NEON, so I'd imagine toolchains will be concentrating on NEON now.22:55.14 
tkamppeter chrisl_away, the fix works, thank you very much.22:55.31 
rsc means I could compile ghostscript with vfp?22:55.32 
Robin_Watts When you build gs, are you using -mfpu=vfp ?22:55.34 
rsc no.22:55.39 
  or let me verify.22:55.42 
  it's a Fedora package ;)22:55.47 
Robin_Watts That would be worth a try, I reckon.22:55.48 
  Ah, right. Raspbian has that set up as the default.22:56.18 
rsc -march=armv5te -mfloat-abi=soft, -mfpu isn't set at all22:56.47 
Robin_Watts Right. You're using a soft float lib.22:57.01 
  I'd expect that to be a factor of 10 slower than using hardware FP (in raw FP terms)22:57.19 
rsc oki, so I should give a try with -mfpu=vfp while rebuilding?22:57.42 
Robin_Watts I would.22:57.55 
rsc I'll do so then22:58.22 
Robin_Watts Can I ask why you went for fedora rather than rasbian?22:59.10 
  -march=armv622:59.26 
  -mfpu=vfp22:59.28 
  -mfloat-abi=hard22:59.29 
  Those are the recommended Raspbian settings.22:59.33 
  but you may find that if the libs on your system are expecting soft float, that you'll have problems.23:00.10 
rsc which kind of problems do you think of?23:02.00 
Robin_Watts Well, if you call a lib function with a floating point value, for example.23:02.49 
  If your program expects to use hard float, it'll put the value into a hardware fp register and make the call.23:03.11 
  The library routine will then arrive, and expect it to be in a software floating point register. So you'll be failing to pass proper values.23:03.56 
tkamppeter GS 9.06 (+ some GIT, needed for build) uploaded to Ubuntu Quantal (built nicely fast on my laptop with SSD).23:05.54 
rsc Robin_Watts: I see...23:08.25 
ray_laptop I've completed the performance testing with 14, 32 and 64 GS_CLIENT_COLOR_MAX_COMPONENTS with 'gs filter=psdcmyk'. The results are NOT great.23:21.17 
henrys well a comparative profile should show quickly where things are going bad, or do you already know what the problem is?23:22.56 
mvrhel ray_laptop: even with just pdf?23:23.55 
ray_laptop With 14, the time is 187m -- with 32 the time is 224m, with 64 (I am retesting this) I got 318m23:24.27 
mvrhel I don't understand how that could occur with pdf23:24.56 
ray_laptop mvrhel: I ran 'gs filter=psdcmyk' (which, AFAIK, is PS + PDF)23:25.05 
mvrhel with ps and the fact that we always use the max, I can see23:25.07 
  ray_laptop: you can limit it to just PS or PDF23:25.18 
  too23:25.20 
ray_laptop mvrhel: PDF supports DeviceN colors23:25.21 
mvrhel yes23:25.26 
ray_laptop PDF input23:25.28 
mvrhel but there is a big diff in how they are handled23:25.35 
Robin_Watts mvrhel, ray_laptop: Those results are pretty much bang in line with what we'd expect.23:25.39 
mvrhel in the device23:25.39 
  Robin_Watts, ray_laptop I would suggest we do different testing with pdf vs ps also though23:26.28 
ray_laptop Robin_Watts: these are WITHOUT your patch for clist. Note that I get 2 more timeouts with 32 compared to 14, and 18 more with 6423:26.30 
Robin_Watts ray_laptop: Right.23:26.39 
  It's possible that my patch may help a bit, but it's entirely possible that it might even hinder.23:27.02 
  (having to check the bitmap is extra work, and checking the bitmap vs just copying the bitmap may not save that much time). But it should make the clists smaller (if that matters at all).23:27.45 
ray_laptop Robin_Watts: I'll try your patch with all three configurations next. I'll email results tomorrow (with re-test if results look funky, as 64 looks to me)23:27.57 
Robin_Watts gs filter=psdcmyk,pdf should do what you want.23:28.20 
  NOT gs filter=psdcmyk filter=pdf23:28.32 
  The other thing to note is that by pushing COMPONENT_MAX up to 64, we force the use of smaller and smaller bands.23:29.08 
ray_laptop Robin_Watts: what does filter=pdf do (we don't have a 'pdf' device)23:29.15 
  Robin_Watts: that's true ONLY with PS input (PDF input knows the num_components and uses it)23:29.56 
Robin_Watts ray_laptop: The cluster makes a list of tests to do, in the form: tests_private__customerfiles_blah.ppmraw.300.0 right?23:29.57 
sebras Ch3rryC0ke: sure, no problem. I hope this solves your problem properly.23:30.18 
mvrhel the filter is on the test name concatenation ray_laptop 23:30.27 
Robin_Watts ray_laptop: Right, but we're talking here about slowdown that only happens with the PS.23:30.30 
  So the filter stuff just looks for matches in those names (as mvrhel says)23:30.54 
mvrhel I am wondering though if we have any issues with pdf23:31.00 
  PS we know there is a problem with23:31.14 
Robin_Watts mvrhel: It's a test worth doing, but I *really* hope that PDF will be fine.23:31.21 
mvrhel me too23:31.28 
  but ray_laptop has me worked up with his result23:31.50 
ray_laptop Robin_Watts: If I understand you, 'filter=pdf' will run ALL devices, but only PDF input OR pdfwrite output ???23:32.35 
Robin_Watts Yes.23:32.50 
  filter=.pdf is probably better.23:32.59 
ray_laptop Robin_Watts: OK, that make sense23:33.21 
mvrhel filter=psdcmyk,pdf would probably be the ideal case23:33.46 
Robin_Watts or filter=".pdf.psdcmyk" would run only pdf files through psdcmyk23:33.46 
ray_laptop Robin_Watts: I'll go ahead with that.23:34.12 
Robin_Watts , means "and". Supplying multiple filters means "or".23:34.27 
  At least in theory :)23:34.31 
ray_laptop once the current one is done. I've discovered that (probably to support "abort") I have to wait for one run to complete before submitting the next23:34.59 
Robin_Watts There are hairy perl regexps involved, and . might be a magic character.23:35.04 
ray_laptop Robin_Watts: I _was_ a bit concerned about that23:35.30 
Robin_Watts ray_laptop: You can only have one job queued, as otherwise if the cluster has problems and has to restart, it can't hold 2 copies of the source.23:35.52 
ray_laptop every regexp seems to have different quirks (grep, egrep, fgrep, ... mygrep)23:36.02 
mvrhel bbiaw23:36.22 
ray_laptop Robin_Watts: so it doesn't queue up the 'diff' / 'patch', but immediately pushes the patch, then (eventually) runs it, right ?23:37.12 
Robin_Watts ray_laptop: The cluster is based on rsync.23:37.35 
  so basically a copy of the desired source is rsynced to /home/marcos/cluster/users/whoever/ghostpdl/ on casper, and an entry is put into the queue to test that.23:38.25 
  If you try and queue a second entry, you overwrite the source, and BadThingsHappen(TM)23:38.53 
ray_laptop Robin_Watts: the 'gitpush.sh' doesn't use rsync -- it uses "git push -f cluster stash:refs/heads/$myuser"23:39.18 
Robin_Watts ray_laptop: Right. It uses git to get it onto a unix box, and THEN uses rsync :)23:39.43 
  sebras: Are you Mr Encryption with mupdf ?23:40.47 
  ISTR that you had a hand in the aes stuff ?23:41.14 
  off to bed now.23:46.53 
  sebras: If you're interested in encryption stuff, see earlier in the logs for a new password algorithm.23:47.11 
  Night all23:47.13 
ray_laptop g'nite, Robin_Watts 23:49.20 
  Robin_Watts: (for the logs) toolbin/localcluster/gitpush.sh gs filter='.pdf.psdcmyk' seems to have done what we wanted23:54.46 
 Forward 1 day (to 2012/08/02)>>> 
ghostscript.com
Search: