Oh what nonsense. I travel on Caledonian Sleeper all the time and while the breakfast is perhaps not amazing (although its fine) you only have to exit the train immediately at stops that are not the ultimate destinations (like London, Glasgow etc) there you routinely have up to an hour to get off. The bedding criticism is also odd as it's all white cotton sheets and pretty comfortable. Also Caledonian Sleeper has ordered new coaches and are investing a lot in the service. See: https://www.sleeper.scot/news/85-newtrains The sleeper service is an amazing service and I love the ability to spend £100 and get a room saving a packet on a London hotel. I can arrive in London at 6.30/7.00am head to meetings & then be back in Scotland in 4 hours.
That was the point of the Heap Benchmarks. In CPython you would have to use HeapQ, writing something yourself in Python will be miles off the pace. Whereas in PyPy the Python implementation of a Heap or your own version is comparably fast. As it should be. The 'hunt down the written in C' parts of the standard library is what I am increasingly objecting to.
And that would be fine, and my mind goes to similar examples like Lua where the reference and the JIT versions co-exist but PyPy has not had the impact that LuaJIT has had (for example) on the LUA community.
Ah the 'smart alec' has appeared. I'm not stupid, I know code like that won't be faster in Python but PyPy shows that it can be a hell of a lot faster than CPython and right up there with Node.js and the travesty is that CPython is so far off the pace and getting slower
1. Does anyone know the latest update on NumPyPy? PyPy for me is just not a usable proposition because I heavily use Numpy (and Scipy et al). So I am forced to use slow Python + fast Numpy or slow Numpy + fast Python. Very saddening. The C-Extension is just so off the pace, NumPyPy was meant to solve that quandry.
And I know some smart Alec will trot out the usual 'downshift into C' line that everyone (including Guido) use as the final goto solution for performance but that is simply a disgrace in 2017. Even JavaScript is fast. Why can I not choose to write Python and it be fast?? And yet Python 3 is getting slower. Don't agree?
Look at these benchmarks of Python heaps written in Python (not using the C based builtin heapq) https://github.com/MikeMirzayanov/binary-heap-benchmark Python generally is off the pace but Python 3 is about twice as slow as 2 and miles off JavaScript.
But PyPy is proof that Python can be fast. It makes quote/unquote "Pure Python" within striking distance of Go and and when I run that test suit on PyPy, its similar to the Node.js score. Why does this matter?
Because I want to write bloody Python not C.
And it is so tantalisingly close - look at a blog post like: https://dnshane.wordpress.com/2017/02/14/benchmarking-python... The performance of the Fibonacci Heap that someone wrote in quote/unquote "Pure Python", when run in CPython can never compete with HeapQ (the C based builtin lib), but on PyPy it can. Fast code written in Python. So what are the problems holding back PyPy? I think possibly money and number of devs working on stuff. Javascript had Mozilla, Google, Microsoft and Apple in a browser war + loads of open source input.
But is the biggest stumbling block not Guido himself and the core Python devs? Do they just philosophically not agree with PyPy or is it just disinterest?
Well whatever it is, it is heart-breaking to want to write fast code in my favourite language and leverage all its power including Numpy/Scipy etc and not be able to. And yes my use-case is perhaps quite unique, a very CPU intensive service that ideally computes and returns a real-time calculation (that includes 500k function calls) in 10-50ms.
But getting fast Numpy in the PyPy mix (i.e all the speed of the JIT + no worse Numpy) would be a HUGE step forward for me in PyPy adoption. What is the latest? How can I help?
Yeah it's the Hacon API like http://www.thetrainline-europe.com/ use. That is not the raw data but a journey-planning API. You need to spend 15k to become a licensed Deutsche Bahn partner and then pay Hacon per query. But the Captain Train post seems to be talking about them doing their own journey planning from raw schedule data. I just want to know how they got it when no-one else including Loco2 can get it.
Can someone from Captain Train explain where they have gotten the European Rail Timetable Data from? Because there is a huge issue in Europe over that data not being Open Data. The rail governing body the UIC collects each member train company's timetables and merges/cleans them into a dataset called Merits. If you ask the UIC as many Open Data campaigners and interested companies for that dataset they say "Only the Operators can have it". That dataset then goes to the company that supplies most of the European train companies journey planning Hacon (via a dept of Deutsche Bahn first). Hacon also won't license you the data. They too say 'it's the train operators'. And Deutsche Bahn will only license you the Hacon API (i.e not the raw data). Train Captain where are you getting this data from? Because you must be the only independent non-train operator in Europe to have it. And according to the rules I've encountered you shouldn't.