IRC Logs

Log of #ghostscript at irc.freenode.net.

Search:
 <<<Back 1 day (to 2016/03/30)20160331 
jogux sebras: nice work! a lot of people seem to really struggle with ndk-gdb08:24.09 
  Robin_Watts: crikey (windows bash). will be interesting to see how that all fits together in practice. the end of cygwin could be nice, assuming the new thing isn't just as bad :)08:28.10 
kens Werll its just a preview right now.08:31.25 
Robin_Watts jogux: Run any user mode ubuntu binary on windows. bonkers.08:32.01 
jogux if I can seriously apt-get any ubuntu package (including X11 etc) that would be seriously nuts.08:32.40 
Robin_Watts jogux: Yes. apt-get was specifically mentioned.08:32.58 
kens I don't thnk X is supported as such, though if you have an X servere already....08:33.04 
Robin_Watts mingw.08:33.09 
kens Just running Git would be good from my POV08:33.34 
Robin_Watts kens: Well, the mingw port of git is fine, and I use the bash shell that comes with that all the time already.08:34.11 
jogux for me, that might actually make windows a usable alternative to OS X. (I certainly don't put ubuntu as an OS in that camp)08:34.34 
kens Its what I'm using here, but I would be happy not to have to use it08:34.37 
jogux Robin_Watts: so the new stuff is based again mingw?08:35.00 
  s/again/around/08:35.05 
Robin_Watts No, the new stuff us based on ubuntu.08:35.15 
kens Nope, robin was pointing out that there is a bash shell in MingW already08:35.28 
jogux ah08:35.45 
  I wonder how exactly they've got unix code compiling on windows (presumably without any changes to the source)08:35.59 
kens It isn't recompiled, they translate the sys calls to Windows calls08:36.24 
  In a similar manner to WOW32 I imagine08:36.36 
chrisl It's the opposite of wine08:36.37 
Robin_Watts jogux: I believe windows 10 has a new (smaller/saner/more portable) kernel.08:36.56 
jogux ah, so a full POSIX system library etc (ish)08:36.58 
Robin_Watts and win32 is just "one thing" implemented on top of that.08:37.12 
  this sounds like a "new thing" implemented on top of that.08:37.26 
kens Yep, that's pretty much what I meant08:37.40 
Robin_Watts Yes "posix system library" was probably what I meant by "new thing"08:37.41 
jogux nods08:38.30 
chrisl Which is rather what cygwin and mingw were supposed to be, but never seemed to quite make it.......08:38.38 
kens Well if MS supports it, it shbould get plenty of tractoin I guess08:38.54 
Robin_Watts to be fair I think the windows 10 changes have rather moved the goalposts in a helpful direction.08:39.16 
jogux will bash actually be installed by default?08:39.58 
Robin_Watts implementing posix on win32 is hard. Implementing posix on the new kernel is probably easier (cos I bet the new kernel was designed with this in mind)08:40.00 
  jogux: Appstore install, apparently.08:40.08 
jogux nods at Robin_Watts 08:40.24 
kens optional install makes szense to me, it would onl;y confuse most Windows users08:40.38 
jogux I wonder if it cleverly shares configuration etc with windows (so hostname lookups somehow magically get routed through the windows dns subsystem or something)08:41.12 
Robin_Watts oh, ugh, yes. I can't imagine people would take kindly to that not being the case.08:43.23 
chrisl OTOH, it's hard to see how they'd make that work.....08:44.27 
jogux I wonder if this means they've given up on their openssh port to windows08:45.12 
Robin_Watts chrisl: It depends if the core networking layers run at the win32 level, or the kernel level.08:46.35 
  You'd have to suspect they run at the kernel level, because they have to presumably be shared between WinRT/Win32 already?08:47.04 
chrisl Possibly... I would have expected things like name resolution would be "user space" rather than kernel, though08:48.07 
jogux well reading resolv.conf and sending/parsing dns packets is all inside glibc. though actually I think there are some hooks for routing dns to other subsystems (eg. hostnames can be looked up in nis before dns).08:48.11 
  seems likely they'll have to tweak some of the packages in the base system to play nicely.08:48.46 
  wonder if this is the (eventual) death of all the ports of perl/python/apache/etc to native windows.08:49.55 
sebras kens: though Terminal with bash in is is standard in osx, and osx users are supposedly the less confused of all users (because the ui is so super intuitive).09:07.15 
  least.09:08.26 
  jogux: ndk-gdb wasn't too bad. I was just slightly worried when it spewed out lots of warnings about not finding files, but it turned out that this didn't matter when looking into crash backtraces.09:09.29 
jogux :)09:09.44 
  more about the bash on windows thing: http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.html (though it doesn't answer the questions about dns / x11 etc)10:12.03 
tor8 jogux: that, combined with the conhost improvements and openssh client *and* server apparently coming to windows is, well, unexpected10:14.52 
  I'm sure it's just an evil plot to get the stubborn people still stuck on windows 7 and older to upgrade to windows 10...10:15.56 
jogux they've been talking about openssh (client and server) on native windows for at least a year, I've not seen an actual estimated release date yet. :(10:16.26 
  tor8: very possibly. I think it helps them compete with OS X too.10:17.03 
tor8 jogux: maybe they gave up and implemented a syscall translation layer so they can run the linux binary instead ;)10:17.05 
jogux :-)10:17.11 
sebras tor8: review over at sebras/master (unless you already read the logs)10:17.29 
  jogux: tor8: so now whenever linux adds a new syscall microsoft need to update their translation layer. it is indeed wine in reverse.10:18.12 
jogux nods10:18.32 
tor8 sebras: pdf_write_options commit LGTM10:18.58 
Robin_Watts sebras: MS have partnered with ubuntu, so presumably that indicates a commitment to keeping it working.10:20.53 
jogux I wonder if that means MS are paying ubuntu.10:21.21 
  I never really understood how ubuntu manage to make enough money to keep going10:21.32 
tor8 jogux: if it's anything like redhat of old ... support contracts with big companies10:21.55 
jogux yeah, seems likely.10:23.05 
Robin_Watts tor8: You're not waiting for anything from me for the release, right?10:33.52 
Robin_Watts will start to prod at this muso thing if not.10:34.15 
tor8 Robin_Watts: nope. though you could review the java stuff on tor/master if you've got a few minutes10:34.55 
Robin_Watts sebras: Yell if you get a mo to talk about the delta things, otherwise it will have to wait til I get back.10:35.04 
  tor8: sure. Will look now.10:35.10 
  platform/android/viewer makes reference to the mupdf.c java classes, not the mupdf_native.c ones, I thought?10:36.56 
tor8 Robin_Watts: oh ... I wonder if this code uses your halfway approach?10:37.26 
  that wouldn't be good for the release10:37.34 
Robin_Watts Ah, no, it's fine.10:38.06 
  mupdf.c is in platform/android/viewer10:38.21 
  which is perfect cos it's specific to the android viewer :)10:38.35 
  platform/java/Makefile: OS := $(shell uname)10:41.59 
  Could that be OS ?= $(shell uname) ?10:42.08 
tor8 Robin_Watts: yes, that's waht we do in Makerules. will change.10:42.53 
Robin_Watts Other than that, I can't see any problems.10:44.13 
  So great, go for it.10:44.17 
tor8 Robin_Watts: so, drop the mupdf_native.c from android/viewe/jni/Android.mk and fix the uname in platform/java/Makefile10:45.16 
Robin_Watts No, just fix the uname.10:45.50 
  Well...10:46.06 
  We could drop mupdf_native.c, as long as we don't include the mupdf.jar built from inside platform/java.10:46.58 
tor8 Robin_Watts: ah, right.10:49.13 
  I think we do10:49.21 
  but the viewer doesn't use the 'fitz' package anywhere I can see10:49.34 
Robin_Watts It probably doesn't.10:49.43 
  So we could drop both the mupdf.jar and mupdf_native.c10:50.02 
  which might make the build easier10:50.09 
tor8 Robin_Watts: anything more than what's on tor/master needed to drop the mupdf.jar?10:58.12 
Robin_Watts tor8: Looks plausible to me.10:59.01 
tor8 Robin_Watts: thanks. I'll squish and push then.11:01.54 
kens Further to the bash thing:11:03.10 
  http://www.theregister.co.uk/2016/03/31/microsoft_visual_studio_c_plus_plus_for_linux/11:03.10 
tor8 Robin_Watts: so ... all that work we did to optimize text layout is gone now that harfbuzz is in the pipeline making things slow14:16.19 
  how do you feel about having two branches of the layout code, and skip harfbuzz if script is one of CJK,latin,greek,cyrillic and the font doesn't have opentype tables?14:17.27 
Robin_Watts tor8: I am tempted by the idea of keeping it so that we can build within harfbuzz.14:23.08 
  Cos I can imagine that harfbuzz's C++ dependency will be annoying to some.14:23.34 
kens build within == build without ?14:23.56 
Robin_Watts kens: Yes, thanks, sorry.14:24.07 
kens NP just checking :)14:24.34 
Robin_Watts Not sure how I feel about the idea of having both paths in the same build and "guessing" which one to use (unless we can be 100% accurate about it)14:24.36 
tor8 Robin_Watts: I'd 'guess' per word14:25.23 
Robin_Watts tor8: Which bit is slow? The layout, or the rendering, or both?14:25.23 
  If we could bear to call harfbuzz once during the initial measurement, and then cache a bit per word meaning "need shaping" or not.14:26.19 
  We have the bidi stuff running too now - some of the slowness may be down to that.14:27.10 
tor8 I'd need to profile properly to know if it's slow in layout or rendering. I suspect both, since we shape twice14:27.37 
  without opentype tables, it looks like memset is the culprit14:28.26 
  with opentype tables, a lot of time is spent in C++ template functions with names that imply opentype lookups14:28.52 
Robin_Watts memset being the culprit smells like page blanking to me.14:29.11 
  Certainly that was the big hitter on the raspberry pi.14:29.24 
  Doing opentype lookups is expensive.14:29.59 
tor8 7.6s with NotoSerif, 7.2s with Times (no opentype tables)14:30.14 
Robin_Watts oh, well, that doesn't seem like a huge difference.14:30.35 
tor8 on a document that used to take 0.9s before we added harfbuzz14:31.08 
Robin_Watts oh, right.14:31.30 
tor8 and most of the time pre-harfbuzz was spent parsing and matching css14:31.31 
  so I think we've got a factor 20-50 slowdown with harfbuzz14:31.42 
Robin_Watts So that implies that it's not the opentype lookups that are the slow bits.14:31.56 
tor8 yeah, opentype or no, it's harfbuzz doing its own encoding and metric lookups on the font tables without our caches to help14:32.21 
  I also suspect we don't actually do opentype lookups given how we invoke harfbuzz14:32.38 
  it doesn't look like we're getting ligatures or kerning, which are opentype lookups14:32.51 
Robin_Watts We are getting shaping though.14:33.11 
  so clearly that's SOME opentype lookups working.14:33.18 
tor8 yes, but I suspect it's only applying the minimum opentype lookups needed14:34.06 
  IFF script is latin/greek/cyrillic AND no opentype tables; then harfbuzz should be giving the exact same results as we used to get14:34.56 
  so if we can bypass it then, most documents would get us full speed14:35.10 
Robin_Watts tor8: As a short term fix (for the release) we could have it as a build option?14:35.21 
tor8 I would like a build option regardless :)14:35.34 
  Robin_Watts: 60% of the time is spent in FT_Get_Advance (called from hb_shape)14:42.53 
Robin_Watts And hb_shape is not doing any caching. Great.14:44.03 
tor8 90% of the time total is spent in fz_layout_document14:44.26 
Robin_Watts tor8: how much time in the bidi stuff?14:45.44 
tor8 4-5% or so14:46.32 
Robin_Watts ooh, simple hack....14:46.37 
  in walk_string, we run through encoding each char and breaking into fonts, right?14:47.09 
tor8 yes...14:47.26 
Robin_Watts If we encode the entire string in a font with no opentype tables (like the default one), then we can avoid harfbuzz.14:47.48 
  We can have font->shapeless set to true if it's one of our base14 fonts.14:48.38 
  and then work off that.14:48.46 
tor8 sort of what I was suggesting with my test14:48.59 
  it should be easy enough to detect whether a font has opentype tables14:49.12 
  I've got to go shortly, and I'll be out most of tomorrow (got a dentist appointment in the afternoon). we should get this sorted before release, IMO. a 20x slowdown from last release is really not good :(14:49.19 
Robin_Watts I'm flying at 3am, and have yet to pack, so I suspect I won't get it done.14:49.48 
tor8 if you could bash up a conditional compile, I can see about getting that selected dynamically at runtime... or I'll just do it myself then :)14:50.05 
malc_ tor8: haha :) got a dentist appointment at 12:00 tomorrow14:50.07 
  great teeth hurt alike14:50.15 
Robin_Watts tor8: I'll pack now, and then see what I have time for.14:50.37 
jogux amusing, apparently BMW i3 cars run cups: https://github.com/edent/BMW-OpenSource (but not ghostscript afaics :) )14:51.09 
tor8 Robin_Watts: I've got a commit on tor/master which picks a (IMO) better default font. I took the Charis SIL font and stripped out all the opentype smarts for language alternates, smallcaps, etc so it's only got the basic glyph coverage14:51.33 
  that got the size down from 1.5mb per face to 130k14:51.43 
Robin_Watts tor8: So that's an extra font?15:25.18 
  Can't see that on tor/master15:25.54 
sebras Robin_Watts: I can't see that one either. I think he forgot to push it.16:32.48 
neverpanic The ghostscript-9.19.tar.gz tarball at https://github.com/ArtifexSoftware/ghostpdl-downloads/releases doesn't match the SHA1 in the SHA1SUMs file, and I could swear that the checksum was different three days ago21:02.46 
  Is that a known issue?21:02.52 
  funny, I take a look at the logs and work follows me everywhere…21:07.37 
  jogux: It's AGPL, and -3 at that. Wouldn't be allowed to touch it with a ten foot pole :/21:08.02 
salman_ hi?21:57.44 
ghostbot rumour has it, hi is there a way to include mupdf headers in c++ headers? I tried using extern "c" but im always getting "_pdf_obj_read_state_s already defined in ..."21:57.44 
salman_ send pclxl file to pritner21:58.20 
  how to21:58.27 
  are there humnas here?21:58.35 
 Forward 1 day (to 2016/04/01)>>> 
ghostscript.com
Search: