jemc changed the topic of #ponylang to: Welcome! Please check out our Code of Conduct => https://github.com/ponylang/ponyc/blob/master/CODE_OF_CONDUCT.md | Public IRC logs are available => http://irclog.whitequark.org/ponylang
Matthias247 has quit [Read error: Connection reset by peer]
TwoNotes has quit [Quit: Leaving.]
copy` has quit [Quit: Connection closed for inactivity]
c355e3b has quit [Quit: Connection closed for inactivity]
graaff has joined #ponylang
trapped has joined #ponylang
trapped has quit [Read error: Connection reset by peer]
trapped has joined #ponylang
jemc has quit [Ping timeout: 252 seconds]
amclain has quit [Quit: Leaving]
trapped has quit [Read error: Connection reset by peer]
Applejack_ has joined #ponylang
Applejack_ has quit [Quit: Page closed]
gsteed has joined #ponylang
Applejack_ has joined #ponylang
Matthias247 has joined #ponylang
tm-exa has joined #ponylang
tm-exa has quit [Quit: Computer has gone to sleep]
tm-exa has joined #ponylang
tm-exa has quit [Quit: Computer has gone to sleep]
<Applejack_> doublec: jemc: sylvanc: SeanTAllen: I've updated my Mac, El Capitan, and I now have Pony going consistently at (within errors) the same speed as C with the previous problematic codes. Onto Markov!
<SeanTAllen> interesting and congrats Applejack_. What version of OSX did you previously have?
Applejack_ has quit [Ping timeout: 250 seconds]
Matthias247 has quit [Read error: Connection reset by peer]
copy` has joined #ponylang
<shepheb> here's a curious one for you
<shepheb> I've rewritten the JSON loading stuff to parse one, then tail-call the behavior again
<shepheb> as more and more entries are parsed, it gets slower and slower
<shepheb> so that parsing 11000-12000 takes as long as 0-9000
<shepheb> that is, parsing the first 9000 entries takes as long as parsing the 1000 entries from 11000-12000
c355e3b has joined #ponylang
trapped has joined #ponylang
<SeanTAllen> shepheb: is memory usage growing during this?
TwoNotes has joined #ponylang
<shepheb> onyl slowly
<shepheb> let me stalk it again
<shepheb> yeah, growing slowl
<shepheb> about what I'd expect a KB or three per item
<shepheb> it's not saw-toothing noticeably eiter
<shepheb> man, I can't type this morning.
<shepheb> running for over a minute, only loaded 22k of 60k
<shepheb> it did eventually finish, but I had to leave it running over breakfast
<shepheb> I wonder if I should give the parser another actor to call with the results, so that the one doing the legwork has a very small memory to search.
<shepheb> did that, but no change.
<SeanTAllen> sounds like its time to break out a profiler.
jemc has joined #ponylang
tm-exa has joined #ponylang
<SeanTAllen> i'm really interested to know what you find out shepheb. In case I miss any report here, could you drop me an email w/ what you find or drop it to the mailing list?
<shepheb> I can do that.
<shepheb> is there an established way to profile Pony code?
<shepheb> also, it would be really handy while developing to get a stack trace for where an error was generated.
graaff has quit [Quit: Leaving]
<shepheb> it takes ~13s to parse the whole file if I don't do anything.
<shepheb> gonna compare that with some other JSON parsers and see how it compares
<jemc> shepheb: regarding stack traces, do you know about __loc?
<jemc> basically, __loc is a special "keyword" of sorts that will create an object that holds the source location at that point
<jemc> you can also use `__loc` as the default value of an optional parameter, to get the source location of the caller of a function: https://github.com/ponylang/ponyc/blob/0461b05902448b19615c98ac241b9f2cf4c4ed3a/packages/ponytest/helper.pony#L52
<jemc> so, you could create a function that packages up an exception object which includes a String message and a SourceLoc and anything else you need
<shepheb> wow! TIL
<shepheb> thanks for the tip, that'll prove handy
<jemc> we should probably add some words about that to the "Pony Patterns" series
<jemc> maybe your JSON code would make a good snippet to show it off
<shepheb> maybe. I need to instrument it and succeed in testing its speed first :)
<shepheb> I have no idea if it's performant or terrible or in between, currently.
<SeanTAllen> jemc: aturley has been working with sylvanc on a "debugging pony" document
<SeanTAllen> which would include __loc et al. its coming together slowly.
<shepheb> data point: using ujson4c to parse this file takes ~3s, not 13. I have work to do.
<shepheb> but there's some larger problem with my loading code, since it takes 15 or 20 minutes!
tm-exa has quit [Quit: Computer has gone to sleep]
jemc has quit [Ping timeout: 260 seconds]
tm-exa has joined #ponylang
TwoNotes has quit [Quit: Leaving.]
c355e3b has quit [Quit: Connection closed for inactivity]
gsteed has quit [Quit: Leaving]
Praetonus has joined #ponylang
c355e3b has joined #ponylang
tm-exa has quit [Quit: Computer has gone to sleep]
copy` has quit [Quit: Connection closed for inactivity]
jemc has joined #ponylang
Applejack_ has joined #ponylang
<Applejack_> SeanTAllen: I was on Mavericks 10.9.5, but an old Xcode since I had problems upgrading it to the newest one and that together with the Pony problems prompted me to just go for the whole deal
copy` has joined #ponylang
SirWillem has joined #ponylang
<malthe> "This server could not prove that it is www.ponylang.org; its security certificate is from www.github.com. This may be caused by a misconfiguration or an attacker intercepting your connection."
SirWillem has quit [Ping timeout: 246 seconds]
<malthe> when I run examples/timers (on a Mac) I get a lot of __semwait_signal system calls: https://gist.github.com/malthe/1712a4c2e38e75de1a6ad90aec152748
<malthe> I'm trying to figure out how come examples/httpserver (even with discard-log) yields such poor performance.
<malthe> seems like there's a timeout being triggered.
<jonas-l> malthe, doublec mentioned some time ago: the pony server does a reverse dns lookup on each connection ( http://irclog.whitequark.org/ponylang/2016-05-08#16396717; )
<jonas-l> this could be the case
<malthe> jonas-l: maybe, but it happens in the timer demo too.
<jonas-l> that's strange..
<malthe> and also, net/httpserver supports HTTP keepalive.
<malthe> so after an initial setup period, performance should rise.
<malthe> but I'll definitely investigate.
<malthe> it really shouldn't do a reverse lookup if not using.
<malthe> I studied lwan's codebase quite a lot and am planning to try and port its design to pony.
<jonas-l> great! :)
Matthias247 has joined #ponylang
Praetonus has quit [Quit: Leaving]
Applejack_ has quit [Ping timeout: 250 seconds]
SirWillem has joined #ponylang
jemc has quit [Ping timeout: 244 seconds]
trapped has quit [Read error: Connection reset by peer]
SirWillem has quit [Remote host closed the connection]
tm-exa has joined #ponylang
Matthias247 has quit [Read error: Connection reset by peer]
tm-exa has quit [Quit: Computer has gone to sleep]