skysight-inc/HackerNews huggingface dataset:
Yeah but "C" is a subset of objective C and the idea is that tight code generally gets written in C without the dynamic dispatch. So comparing Swift to objc_msgsend seems to be a conscious misunderstanding of Objective"C".
What parts of modern, popular STL implementations are notably slow?

The only issue I've ever had is the blatantly obvious one of reallocating std::vector as it grows. You really want to reserve() enough space in advance if at all possible, because copying large chunks of memory is not fast.
thanks! +1
Offended?
> I think ultimately Swift will be faster than Obj-C

Is there something about the semantics swift that you think would inherently permit faster code than well-written ObjC?

Edit: I don't know why this comment was down voted -- it's a perfectly reasonable question that others have responded to. Oddly, the parent comment _I_ was responding too is apparently also being down voted. WTF?
Maybe Swift is in reference to developer speed.

From a PL / compiler standpoint it's pretty obvious that Swift is not going to match Objective C from a performance standpoint. That's why Apple used a micro benchmark comparing a static, compiled language vs a dynamic, interpreted language (Python) for marketing purposes.

> We can’t know exactly what’s going on behind the scenes, but my hunch is some of what we take for granted in Objective-C – the straight C scalar data types – are actually classes in Swift. And the more you rely on classes, the more Automatic Reference Counting is in there somewhere, retaining and releasing like there’s no tomorrow, often for no good reason.

If they switched from primitive types to classes for built-in types, that means vtables and an additional memory lookup per element access weakening caching and memory locality.

Creating a Swift int would involve instantiating a class, incrementing the ARC count, and storing data compared to only storing data for primitive types. That explains why appending Swift's Ints to an array is so much slower than NSNumber.

On a side note, this isn't as much of a problem with Java—despite everything being implemented with vtables—because of JIT and better CPU branch prediction.

Disclaimer: I have no Objective C / Swift experience.
Yes it's unfortunate that we've gotten that impression. b^)
A problem with this is it gives a huge incentive to bet as late as possible. You know where the money is you have more information about the event and so your bet can be better placed. Unfortunately this will mean there isn't any point betting later either as people will not have bet earlier.

Bitbet attempts to solve this by giving a higher weight to earlier bets. Not sure how well that works but the site seems to be used.
> nobody thinks its worth it anymore.

I'm curious which period you're referring to here. I haven't been following Apple presentations in detail for a while, but I remember the iPad 2 announcement was chock-full of flat-out lies. Do you mean that this is something that's changed since then (March 2011)? Or do you mean that it's not worth it for developer-focused presentations vs consumers (who would presumably be more credulous)?

EDIT w/ source: http://fortune.com/2011/03/03/steve-jobs-reality-distortion-...
These appear to be in line with unoptimized swift. mpweiher, can we have some gists of the proj or something for these numbers?
In one of the final paragraphs, she repeats 'teaching children' a couple of times, and the language in the rest of the article is high-school-related. It's not just the disclaimer. For example, how many people do post-graduate study in Education, then teach at University? Apart from the people teaching Education itself, it's a vanishingly small number.

the fact that a bunch of people missed it is rather telling, isn't it

Not particularly, given that the author's criticism is that folks in our industry give her short shrift and ignore what she has to say. It actually plays directly into her criticism that a bunch of us just tilted at her windmill without bothering to understand what it is that she actually does first.
As a postdoctoral candidate in biology, I can say that my approach to problem solving is exactly the opposite: My job is to infer as much as I can from the scant amount of data I can obtain. The goals outlined in this article are to collect as much data as you can, creating what is essentially a glorified lookup table of results. I must say the latter approach seems a hell of a lot easier.
Right, he couched his sexist tropes in specific language that provided him with deniability. It's standard, and you seem to have fallen for it.
Gee, where's a graph of temperature and density as a function of radius? GOT to be a super wild graph!
Then there's the unfinished jail in downtown Detroit:

http://www.myfoxdetroit.com/story/22491752/leduff-wayne-co-m...
Hmm, what is the longer term vision you have in mind?
Yeah. There is a strong incentive for anyone using this site to wait as long as possible. Unfortunately that probably results in a kind of feedback loop preventing the site from being used.
> That doesn't help the victim.

The point of putting people in prison isn't supposed to be to help the victim, either. The victim is kind of irrelevant.
.. and you're talking about 2010-2014, a period when the market as a whole went up by about 50%, and pointing to IBM as a success story?
The launch of iOS is several months in the future.

Swift, as XCode 6, is still beta.
you could make this a prison experience hotel kind of thing.

It would be popular with bachelor parties, etc. People love this kind of thing.
Interesting. It looks like the real deal, too. I'm not sure if it's entirely wise. I think the stuff that makes up CS as opposed to software engineering is inherently high-level and fits best into university teaching (sort of like how you learn algebra and maybe calculus in high school, but nothing that a mathematician would consider "math"), but I certainly could be wrong about that.
Netflix Lets People Know When Bad Streaming Is the ISP's Fault (Updated)
Cool, thanks, looks like that's what I was missing.
They advertised favorable performance comparisons against both Objective-C and Python.
If you access HN via hn.premii.com (great for mobile access) then there's a Show HN link.
Most - if not all - of these "secrets" are already included in the Computer Science/Software Engineering curricula.

At least they were in mine.

Still a good group of points for aspiring engineers.
I know they said on stage that they've spent a lot of time getting Swift fast, but aren't we still in beta? Isn't it a bit early to throw Swift under the bus for performance reasons?
1. The fact that you/others expect women to behave in a sexually titillating way for men is not 'cuts both ways' discrimination, except that it degrades everyone.

2. High school students deserve to be respected.

Your comment disgusts me.
Sorry to hear it. You're completely right, there's nothing unethical about what you did, and if you did get sued for it in "real world", any competent judge would laugh the plaintiff out of the room.

If you really want to fight for it, perhaps you can get support from the student body and the teachers that have liked the app before?

If not, well, at least you learned a lot by completing it, congratulations on that!
So we are comparing a language with 10+ years of optimizations against a language that just barely released in beta? We have no idea what settings the author chose (I'm not implying the author is attempting to deceive) and, assuming they are the defaults, it seems safe to assume Apple would choose very conservative defaults for the beta, especially the first release (it doesn't matter how fast it goes if it doesn't do what it's supposed to).

In two months, after people start to understand what's going on, where the trouble spots are, and what the right way to fiddle bits, if we are still seeing performance like this, I'll be interested.
I like how in the 80s, height stopped increasing, but weight kept increasing, and a little blog of the highest weights just shot out to the right.

I live very close to one of the pro team's training camps, and see the players around town every once in a while. Professional athletes like this are truly in a league of their own. You can go to any random gym and look for the guys there in peak physical condition. The pro-NFL guys stand out easily in a crowd of gym guys. Not just the really huge guys, but you can spot one of the "smaller" players from a mile away. Their musculature and body motions are simply superhuman. It's something very very hard to see on TV when they're surrounded by their peers.
I don't think folks would be opposed to overpopulation in that prison
Here comes the corporate damage control!

Bluemix is too little too late, and appears to be an advertisement for all the open-source 'cool' tech that IBM did not invent.

Let's not even get into the fraud that was the share-buyback (second only to Apple I believe). Now that's ended the tricky question of where that elusive revenue will come from looms its ugly head.

I'm pretty fucking scared about what a company in decline with an arsenal of patents like IBM's is going to do to hit its EPS targets in the next few years.
ObjC has an extreme performance range, from slower than Ruby to faster than Java with primitives (= C). It's easy to pick and choose.
As a Sprint customer, I hope it does go through. My internet speeds are pretty bad even after them upgrading the infrastructure here to LTE. I don't know how it will play out, but I think Sprint users could stand to benefit from T-Mobile. As a T-Mobile user though, I could see why you could be nervous if it went the opposite direction and both services went downhill. I think Sprint wants the band that T-Mobile has that they received in the AT&T fallout so my hopes are positive.
HN isn't where we talk about this sort of thing.
I'm not suggesting that, and you're being disingenuous for ignoring the fact of the person driving the car not matching the id of the vehicle owner, which I have repeatedly pointed out as the suspicious circumstance.

Hmm, what "math" did you just do to come up with 1 in 5000?

Population of CA is ~38 million, of which ~24% are minors, or approximately 10 million children. 10m/~2000 abductions a year in the state = 5000.

http://www.childabductions.org/ Annual abduction rates
http://quickfacts.census.gov/qfd/states/06000.html CA census data

Are you happy now?
Disrupting Us – A story template for business disruption
Shouldn't we wait until Swift is in production for us and we're not using a compiler still built for beta before we come up accusations like these? Swift may not end up being the greatest thing since sliced bread, but how about we get our hands on the production-ready build of it before we decide.
I'm inclined to disagree and this article seems to disagree as well http://it.toolbox.com/blogs/macsploitation/bypassing-objecti...

(it's not a great test but it's a test)

Given I've found some other articles that claim that it's not that slow but none of them really present any data.

I guess that it depends on your definition of "major factor".
Apple may have chosen the wrong new font
> Second off, if mild gender stereotypes are worth so much hate you might as well cancel every sitcom on TV.

Many people (including, of course, feminists) do indeed think that virtually every sitcom on TV is unacceptably sexist. And while I don't know that the slide justifies "hate," I do think that it justifies widespread criticism since it perpetuates an unfortunate pattern of gender discrimination in the industry. (Or, if you prefer, it perpetuates an unfortunate pattern of complaining and arguing about gender discrimination. Even if you think that there is no gender discrimination in tech, it seems like you ought to agree that inviting that critique is itself a mistake.)

And, no, I don't think it's presumable that he is just referring to a specific person since everything he lists is, as you note, a well worn gender stereotype.
All these examples are interesting - but why single out and pick on IBM? Seems like IBM is responding to natural competitive pressures in the technology consulting/services industry. Accenture, Wipro, TCS and others basically sell services to US companies and fulfill them overseas. It is not a glamorous business, and the work products are often shite, but this is what happens in price wars. Customers can blame themselves.

What is disappointing to read in the IBM case is yet another example of slashing lots of jobs in the US and shipping them overseas. And yes, a lot is lost in the process - it's not a magic one-for-one replacement. The older I get, the more the platitudes used to justify this ring hollow. So much action is driven to satisfy the relative greed of stockholders, and arguably not "necessary." America has forgotten that the health of the stock market != the health of the citizenry.

Technology services jobs should be among the highest value work we can do onshore. We can't all be bankers and lawyers, nor would it be desirable even if possible.
I did it in about an hour or two, with most of the time being spent making the USB drive or actually installing. No problems.

The catch is that I specifically found known-good laptops and then went and bought one. Ditto for the wifi card.
"What Would You Do?" on ABC had a scenario about this:
https://www.youtube.com/watch?v=VSveKV8Tk3s
I'd go further: Never trust a benchmark you can't run yourself. That goes for Apple's, and it appears to go for the ones in this post as well.

And microbenchmarks (and it doesn't get much more micro than "loop without doing anything") in particular have always been very poor predictors of real performance in my experience. They can be useful when trying to improve a specific area, but they should not be used for bold pronouncements.
@milend via twitter: "He's definitely running the Swift code in Debug mode as I saw numbers in the same ballpark." [1]

https://gist.github.com/anonymous/4df3610970891c6afc5a
https://gist.github.com/anonymous/7d7fcf0a5ce24c37999c

ObjC: 0.063209, Swift: 0.255287 (Release)
ObjC: 0.060600 Swift: 5.200207 (Debug)" [2]

[1] https://twitter.com/milend/status/474349620311883776
[2] https://twitter.com/milend/status/474354899527155712
Not my numbers, but I've gotten similar results, with optimized builds. Yes, unoptimized is even worse. See also:

https://devforums.apple.com/message/974858#974858

https://devforums.apple.com/thread/227905

https://devforums.apple.com/message/971211#971211
Yes, if you were doing a quick sort and each op required a msgsend it'd be a factor. But you'd have to be crazy to write code like that. This is why there are a lot of C apis that Apple has written that you call and bridge with ObjC.

With Swift you can't do that. You have to wrap the calls and generate bridge headers. What a pain.
At Los Alamos
I'm not sure I understand what you are trying to say. What do you mean by "the idea is that tight code generally gets written in C"?
I don't disagree; I was just clarifying on the parent's claim that Apple was benchmarking only against Python:

> That's why Apple used a micro benchmark comparing a static, compiled language vs a dynamic, interpreted language (Python) for marketing purposes.
> From a PL / compiler standpoint it's pretty obvious that Swift is not going to match Objective C from a performance standpoint.

This shows a deep misunderstanding of Objective-C and Swift. Swift has way more type information at compile time than Objective-C, and thus gives the compiler much more room to optimize (in addition to being safer). My guess is we'll see Swift eventually be faster than Objective-C at just about everything. For instance, they could unbox class instances into values where possible, which is something they're probably not doing much of yet.
Can I drop a pacemaker 0day?
For normal apps I would mostly agree, but for a lot of games performance matters.
> the iPad 2 announcement was chock-full of flat-out lies

Do you have anything concrete to back this up with?
Isn't the point of a high-level dynamic language that you shouldn't need to do any bit-fiddling to write performant code?

Swift seems self-defeating.
Content: http://forum.cocos2d-iphone.org/t/say-hello-to-cocos2d-swift...
Yea, there's a service that will kidnap and "torture" you (the torture is more of making you really uncomfortable than actually hurting you).
Scala's dependencies on the JDK are minuscule, certainly a lot smaller than what's considered "the core packages required by/to support the Java language" by the court.
> I would detest working at such a place; having to run my technical presentations through a filter would be constricting and off putting.

I think it can be done without being restrictive or off putting. The place I last worked at required all public talks and training sessions to happen internally first. It was a great way to promote constant learning, share new skills and emphasise company values. It had the side effect of being a great way to check presentations, even if that's just checking for typos, but it would also catch this sort of issue.

As many startups are finding, there comes a time, and a size of company, when you do need some process specifically to prevent things like this. It's annoying, but there way ways to make it a positive thing instead of a negative thing.

> Unless given by a person in the marketing department, I would never assume a presentation made by an employee reflected the values aims or goals of the company as a whole.

Unfortunately that's not what the press think, and even more unfortunately, it's often the press view that matters most.
I wish I could buy this and turn it into a paintball/airsoft arena.
Type-classes, monadic syntax and higher-kinded types come to mind.
Upvoted for pure hilarious insanity.
Well, to be fair on the optimization story, I assume this is llvm-backed objc vs. llvm-backed swift, and swift is using the well-known, very optimized, message dispatch code that objc does. So there should be similar heft behind the optimizations in each.
I think that's hardly the case. Or are javascript and python and ruby self-defeating as well?
> when they can't agree on a budget deal

Cute, but the gridlock in congress and elsewhere in the government is a good thing. It keeps the government's attention focused on screwing up their own affairs and not on screwing up yours.
Examining assembly is especially important since mature optimisers are very good at eliminating code. A loop to assign the same variable a million times obviously has no side effects beyond the first assignment so the loop could easily be removed entirely.
Same here. There seems to be a stiff price to pay for all that convenience...
La Place de la Concorde Suisse is indeed a fantastic book, but it was written in 1984 and a number of things have changed since the Cold War ended.
Curricula definitely vary. I can anecdotally confirm this list is spot on. I did learn SQL and regular expressions, but I'm pretty sure they were technically electives, so I could have graduated without it. All these other things I learned on the job (whilst attending school.)
Do you have an application where message sending is a performance bottleneck?
One of the few impact comparisons I've seen.

https://www.youtube.com/watch?v=W7tGY-VDx3o
w.t.f.?
Wow. Political correctness at its best: bring on the witch hunt! What if he replaced girlfriend with boyfriend? Would that still be sexist? His joke was not on the sex, but on the fact that she was his life partner. You know couple stuff. I kind of feel sorry for him because he was not intending to offend but just be funny. It would be sad if he lost his job over that. I find Atlassian's response makes sense since they are walking on eggs with such a topic.
Maybe there would be less objection if the question asked for a "player name" instead of "your name".
For whatever reason, the author and the comments are experiencing a huge disconnect in expectations.

1. The author appears to be talking about pre-university level CS education.
2. The "IT Professionals" and the commenters here appear to be talking about CS Degrees (undergrad and up) and their relevance to jobs/hiring.

I do not see how those two connect. In fact, I argue that they shouldn't be related at all. Teaching children, especially at the age the author mentions - 12 year olds - is not about preparing them for future work. Most children at that age don't even know what they want to be yet. So what is taught and how it is taught cannot be judged by how useful it would be in employment.

No one here is making any sense. I also find it funny that the author uses teaching a secondary language as a comparison because the manner in which the US (and other countries like Japan) teach secondary languages is all manners of messed up. The system and approaches used in secondary language education do not produce fluency or even long term retention.
T-Mobile has been great for me too, but I'm not totally soured on this idea. Their coverage is bad, and this could help them in the future. They also never get good handset exclusives - if they were a larger company perhaps they might be able to compete better.
While this was a stupid judgement error (when in doubt about gender, religion or politics, just stay clear), I wonder what would be the reaction if it was a woman talking about her husband. Or, better yet, someone talking about the same-sex partner.

It would be no less wrong, but I believe reaction would be very different.
This. I loved T-Mobile but decided to bail since it didn't work between cities for me. T-Mobile's service with better coverage? Sign me up.
How is this newsworthy? I'm not an Apple user, so forgive me if I'm wrong but can't users just change the fonts?
For those of us stuck in Java/Scala land, with attached results:
https://gist.github.com/krishnanraman/4be978cbe8979e4c97fa
Can only explain the business reasoning surrounding breakup fees? Why does one company stand to lose more or less than another one if things don't go through? Why is the merger worth more to one than the other?
Is it that convenient?
People who get offended with these sort of jokes, offend me.
They must be really sad people.

Stop saying sorry for this sort of things!

http://www.chortle.co.uk/correspondents/2012/09/20/16180/why...

http://10cities10years.com/2012/07/10/so-youre-offended-so-f...
I agree with what you say.

To correctly compare the variances, the scale should be adjusted according to the square root of the ratio of sample sizes.

The author has not done this correctly, but I claim that zeroing the axis would be further from the correct graph.
Cell phone company mergers should come with a requirement that their entire combined spectrum block go back up for open bid, with some of it set aside for new entrants.

Mergers of companies that control scarce resources have some serious tragedy of the commons problems. There should be a significant cost to doing it.
> Thanks for for reply. I'm wondering if you know if it's possible to use the AES-CFB mode from the Web Crypto Apis, since the OpenPGP CFB (resync) mode seems to have special requirements?

I haven't looked into it.

> Thanks! Is there a guide somewhere that explains how to build the standalone lib?

No, there isn't. But can you file a bug with us? I'll make sure we have something for you.

PS: how can I contact you?
"Facts about the military exact-opposite-of-the-word-empire of Switzerland."

The Swiss have been quietly and patiently demonstrating to the rest of us how a sane nation-state acts for hundreds of years...
I would assert, rather, that we have 60 years of compiler and runtime experience, both academic and industrial.

Consequently, I would propose that there is no excuse for a public release of a commercial programming environment to be so slow unless it introduces significant novelty sufficient to render the preceding work inapplicable.
ATT is not Sprint. Even this merged company would still be #3, although a closer #3 than Sprint is now.
Entrepreneurs Explain How The End Of Net Neutrality Would End Their Startups
Yes. This is something we or at least I would do in a few months.
Whether it is a bottleneck or not is a different question.