Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "benchmarks"
My boss is technically restricted shall we say.
As the cto I have also been designated office IT guy. Which means apparently fixing the printer. Which is ok I guess. I mean it's bullsh*t but hey.
Anyway, about 6 months ago he said he needed a new laptop. He lives his life in excel and outlook, and even though the whole company uses google docs for everything he still exports everything to excel, makes a copy, then saves it back to drive so everything gets out of sync.
It's a fun problem that I have banned everyone from doing obviously but he continues.
Anyway, anyway, he wanted a new windows laptop naturally. I said to spend about £700 on a decent machine rather than buying something cheap that will frustrate and not last long.
He doesn't listen and gets some old windows 7 machine for £300. It's an alright spec for 2009; he must not have got the memo about it being 2017.
4 months go by and he says he needs a new laptop because this one is too slow (not least because he opens 400 chrome tabs and never reboots his machine). Anyway, I fix the problem of uninstalling all his bloatware and it runs quicker but he has his heart set on a new machine.
I suggest he spend the money this time so he literally doesn't buy a new one in 4 months. I suggest the surface book that's £1200. A little overpriced but he will love the touch screen, it's powerful enough and it's windows. Ticks all the boxes for him.
He suddenly decides he wants a Mac.
I tell him it will be a nightmare for everyone if he does that.
I suggest the Mac book pro as I've had mine for 6 years now and it's still going strong. It's a little more expensive than the surface but it will last.
He then says he wants the air.
I say they haven't updated them in ages and they aren't actually that powerful.
That night he just buys an air from the Apple Store.
WHY THE FU*k ARE YOU ASKING ME FOR ADVICE IF YOURE NOT GOING TO LISTEN YOU MOTHERFUC*er. WASTING MY TIME AND YOURS.
Was very close to rage quitting when he wanted me to back up his old machine but didn't bring in his hard drive and didn't want to put it in the cloud. #whatDoYouWantMeToDoWithYourOldPornCollection
To top it all off I ran some benchmarks and my 6 year old Mac book pro is more powerful than his "brand new" air.27
https://git.kernel.org/…/ke…/... sure some of you are working on the patches already, if you are then lets connect cause, I am an ardent researcher for the same as of now.
So here it goes:
As soon as kernel page table isolation(KPTI) bug will be out of embargo, Whatsapp and FB will be flooded with over-night kernel "shikhuritee" experts who will share shitty advices non-stop.
1. The bug under embargo is a side channel attack, which exploits the fact that Intel chips come with speculative execution without proper isolation between user pages and kernel pages. Therefore, with careful scheduling and timing attack will reveal some information from kernel pages, while the code is running in user mode.
In easy terms, if you have a VPS, another person with VPS on same physical server may read memory being used by your VPS, which will result in unwanted data leakage. To make the matter worse, a malicious JS from innocent looking webpage might be (might be, because JS does not provide language constructs for such fine grained control; atleast none that I know as of now) able to read kernel pages, and pawn you real hard, real bad.
2. The bug comes from too much reliance on Tomasulo's algorithm for out-of-order instruction scheduling. It is not yet clear whether the bug can be fixed with a microcode update (and if not, Intel has to fix this in silicon itself). As far as I can dig, there is nothing that hints that this bug is fixable in microcode, which makes the matter much worse. Also according to my understanding a microcode update will be too trivial to fix this kind of a hardware bug.
3. A software-only remedy is possible, and that is being implemented by all major OSs (including our lovely Linux) in kernel space. The patch forces Translation Lookaside Buffer to flush if a context switch happens during a syscall (this is what I understand as of now). The benchmarks are suggesting that slowdown will be somewhere between 5%(best case)-30%(worst case).
4. Regarding point 3, syscalls don't matter much. Only thing that matters is how many times syscalls are called. For example, if you are using read() or write() on 8MB buffers, you won't have too much slowdown; but if you are calling same syscalls once per byte, a heavy performance penalty is guaranteed. All processes are which are I/O heavy are going to suffer (hostings and databases are two common examples).
5. The patch can be disabled in Linux by passing argument to kernel during boot; however it is not advised for pretty much obvious reasons.
6. For gamers: this is not going to affect games (because those are not I/O heavy)
Meltdown: "Meltdown" targeted on desktop chips can read kernel memory from L1D cache, Intel is only affected with this variant. Works on only Intel.
Spectre: Spectre is a hardware vulnerability with implementations of branch prediction that affects modern microprocessors with speculative execution, by allowing malicious processes access to the contents of other programs mapped memory. Works on all chips including Intel/ARM/AMD.
For updates refer the kernel tree: https://git.kernel.org/…/ke…/...
For further details and more chit-chats refer: https://lwn.net/SubscriberLink/...
(Originally written by Adhokshaj Mishra, edited by me. )23
I used to do some freelancing and one of the main clients I worked with had a project they hired me for that used Drupal. I fucking hated it. I thought it was bloated (and slow as fuck), unnecessarily complex, and just all around a horror to work with.
Even though that was many years ago, from other devs I've met, it seems like Drupal never really got much better. One devops guy who worked at the previous company I was at told me about some benchmarks he had done on Drupal in his previous work. The performance results he got were an absolute joke - awful concurrent performance and just a brutally slow CMS.
Needless to say, since that freelance project, I've never used Drupal again and never will.17
"Older versions are more stable"
The whole concept of LTS in development pisses me off.
Delayed upgrading, whether it's the language itself, dependencies or tooling, does just one thing: It makes future upgrading way more difficult, often to the point where the company eventually runs into this maintainability wall, and gets stuck in old, unsupported versions.
"But... stability!" — The tiny chance that the newer version has such serious stability regressions that it negatively impacts your own product doesn't weigh up against the clusterfuck you fall into if you push the task too far into the future.
You can relatively easily assess a new major language version using benchmarks and unit tests. Predicting the repercussions of staying on PHP 5.4 or Python 2.7 for another year, predicting the impact of upgrading the codebase later, that is almost impossible.
I'm not saying you should live on the bleeding edge in production, but as soon as a new stable version of a core technology is released, just fucking drop everything you're doing and port those deprecated methods!7
I spent over a decade of my life working with Ada. I've spent almost the same amount of time working with C# and VisualBasic. And I've spent almost six years now with F#. I consider all of these great languages for various reasons, each with their respective problems. As these are mostly mature languages some of the problems were only knowable in hindsight. But Ada was always sort of my baby. I don't really mind extra typing, as at least what I do, reading happens much more than writing, and tab completion has most things only being 3-4 key presses irl. But I'm no zealot, and have been fully aware of deficiencies in the language, just like any language would have. I've had similar feelings of all languages I've worked with, and the .NET/C#/VB/F# guys are excellent with taking suggestions and feedback.
This is not the case with Ada, and this will be my story, since I've no longer decided anonymity is necessary.
First few years learning the language I did what anyone does: you write shit that already exists just to learn. Kept refining it over time, sometimes needing to do entire rewrites. Eventually a few of these wound up being good. Not novel, just good stuff that already existed. Outperforming the leading Ada company in benchmarks kind of good. At the time I was really gung-ho about the language. Would have loved to make Ada development a career. Eventually build up enough of this, as well as a working, but very bad performing compiler, and decide to try to apply for a job at this company. I wasn't worried about the quality of the compiler, as anyone who's seriously worked with Ada knows, the language is remarkably complex with some bizarre rules in dark corners, so a compiler which passes the standards test indicates a very intimate knowledge of the language few can attest to.
I get told they didn't think I would be a good fit for the job, and that they didn't think I should be doing development.
A few months of rapid cycling between hatred and self loathing passes, and then a suicide attempt. I've got past problems which contributed more so than the actual job denial.
So I get better and start working even harder on my shit. Get the performance of my stuff up even better. Don't bother even trying to fix up the compiler, and start researching about text parsing. Do tons of small programs to test things, and wind up learning a lot. I'm starting to notice a lot of languages really surpassing Ada in _quality of life_, with things package managers and repositories for those, as well as social media presence and exhaustive tutorials from the community.
At the time I didn't really get programming language specific package managers (I do now), but I still brought this up to the community. Don't do that. They don't like new ideas. Odd for a language which at the time was so innovative. But social media presence did eventually happen with a Twitter account that is most definitely run by a specific Ada company masquerading as a general Ada advocate. It did occasionally draw interest to neat things from the community, so that's cool.
Since I've been using both VisualStudio and an IDE this Ada company provides, I saw a very jarring quality difference over the years. I'm not gonna say VS is perfect, it's not. But this piece of shit made VS look like a polished streamlined bug free race car designed by expert UX people. It. Was. Bad. Very little features, with little added over the years. Fast forwarding several years, I can find about ten bugs in five minutes each update, and I can't find bugs in the video games I play, so I'm no bug finder. It's just that bad. This from a company providing software for "highly reliable systems"...
So I decide to take a crack at writing an editor extension for VS Code, which I had never even used. It actually went well, and as of this writing it has over 24k downloads, and I've received some great comments from some people over on Twitter about how detailed the highlighting is. Plenty of bespoke advertising the entire time in development, of course.
Never a single word from the community about me.
Around this time I had also started a YouTube channel to provide educational content about the language, since there's very little, except large textbooks which aren't right for everyone. Now keep in mind I had written a compiler which at least was passing the language standards test, so I definitely know the language very well. This is a standard the programmers at these companies will admit very few people understand. YouTube channel met with hate from the community, and overwhelming thanks from newcomers. Never a shout out from the "community" Twitter account. The hate went as far as things like how nothing I say should be listened to because I'm a degenerate Irishman, to things like how the world would have been a better place if I was successful in killing myself (I don't talk much about my mental illness, but it shows up).
I'm strictly a .NET developer now. All code ported.6
everyday another damn js library with a godamn benchmark claiming kicking every major library's ass by a factor of 10!
just GTFO dude.
I'm tired of seeing that shit :/10
Can ppl stop bitching out about their ides not running smoothly with 8gb+ ram? I mean 8gb ram wise is enough, unless you have 20+ browser tabs open, watching some casual porn, downloading some more porn in the background and maybe running some benchmarks just for the sake of not letting your dollars go to waste...15
Our team was having a problem with very slow response times from a 3rd party web service they were contacting to get some device stats. No issues on the other end, but it had already been weeks. They ask me to take a look at it.
I take a few days, do a couple of benchmarks and tests and I isolate the section of code responsible. Turns out, the method they were calling would timeout if the device was offline. We ask the vendor, and they confirm this. They tell us to call methodX to check if it was up.
After having done that, lookup now only took seconds. They were annoyed that it wasn't documented but was just glad it was fixed.2
This might be long...
Why does it seem like people hate iPhones for no reason? Like , if you asked them why they don't like it, their answer will just boil down to not being open-minded. I just witnessed that with my cousin who has a Samsung S8. He was laughing and making my other cousin, who has an iPhone 8 plus, feel horrible for buying it. The level of ignorance was off the charts! Holy shit, I wanted to bitch slap him.
I mean, the reasons he gave were either incorrect or just a matter of personal preference. For example, he said:
1. Our phones have nearly the same screen size but mine is smaller than yours.
My answer: it could be the different screen ratios.
2. My phone is waterproof and yours is water resistant.
My answer: That doesn't make your phone better. It just sounds cool when you tell people your phone is waterproof. Plus, I'm pretty fucking you're not going to shove your phone into water every single fucking day.
3. My phone is faster than yours.
My answer: didn't the iPhone 8 plus obliterate the competition on the benchmarks?
I felt sorry for the iPhone user because she couldn't defend herself since she doesn't know a lot about technology and the other one was being an asshole because he has a fucking S8. It's one thing to criticize something and it's another thing to be a fucking fanboy and hate on something because everyone else is doing it.
NOT EVERYONE HAS TO LIKE WHAT YOU LIKE! I fucking hate fanboys. I really do. Bloody motherfuckers.11
Samsung S9 benchmarks: slower than a 2 year old iPhone, more expensive than current:
Anyone else have people that seem to constantly try to "prove" themselves to you in this weird, competitive way that only makes them seem... very annoying? I'll call him Bob here, but it's always something like:
Bob: Hi Almond, how's it going?
Almond: Ah not bad thanks, PSU blew up in the PC over the weekend though so that was a bit of a faff!
Bob: Ah no! How old's your PC?
Almond: Oh, like 7-8 years old now. I don't replace it often.
Bob: Really?! I replace mine completely every year.
Almond: Ah, cool.
Bob: Yeah, I'm a dev so I feel I need to. It's like my tool, you know.
Almond: Sure thing!
Bob: I actually spend quite a lot on it. I make sure it's got the fastest memory I can afford. Like, DDR5 stuff. That's really important, you know.
...etc., while I try to get out of said conversation for the next eternity.
(while in a conversation about a frontend bug I was looking at in Chrome devtools)
Bob: Hey Almond, you know Firefox actually had a plugin that did all this stuff before everything else?
Almond: Err, yeah, I think so. Used it back in the day.
Bob: It was called firebug. It was really good. Revolutionary.
Almond: Certainly was.
Bob: It was launched in January 2006 you know.
Bob: I used it back then.
...I mean damn, I'm all for being civil, but no-one cares you replace your PC every year, or that you know the year firebug was released, or that you once set up 5 identical PCs with different versions of Linux to run some benchmarks...16
For whatever ungodly reason my containers library, which has extensive testing, profiling, and benchmarks against other containers libraries receives regular emails directed towards me about it, always one of two things
1) "don't reinvent the wheel" I have to assume these people haven't looked at the performance characteristics or features at all. I didn't waste away weeks of my life. I needed something and couldn't find it anywhere. I'm outperforming many crap implementations by nearly an order of magnitude, and can offer queries upon the containers in both generalized and specialized forms. As an analogy, I made airless 3d printed wheels, and people are regularly telling me I should still be using ancient wooden spoke wheels; they probably would argue in favor of using a horse drawn carriage as well. How is it possible technically minded people can also be so anti-progress?
2) "Please rewrite this in X language." You know what? YOU rewrite it. I chose what I did because it made it easy to do what I needed to do. Hilariously, the languages I get asked to use most often, are the same who's containers libraries perform worst in the benchmarks.
Both sound like half baked developers trying to sound superior. Pull your head out of your ass and actually outperform me and others. I'm so fucking sick of this "all talk no action" bullshit.5
Recently had to implement some microbenchmarks for a project. First time I ran them, I thought they had gone stuck. It turned out they weren't, but the processing took forever.
Some smaller benchmarks revealed that runtime was not scaling linearly with the input size as one would expect for the problem. It turned out that code was iterating over the input to find corresponding entries in the output.
We changed the processing so that it creates the output in the same order as the input and just compare entries at the same position. With that we were able to cut runtime from a few hours to a few seconds.
I decided to tweak my two years old-mild overclocking on my main/home pc, to get more juice out of it.
Started with small steps running benchmarks each time I upped the clock.
Didnt crash me once up until it crashed while windows was booting after restart.
I thought to myself, that's normal, now I just have to lower it a bit until I find the sweet spot.
After windows finished crash dumping, restarted, lowered clock from bios, and headed to boot windows.
Windows recovery came up to scan my installation, pretty normal after a bsod.
I was waiting for it to finish, thinking that ofc there is no error you silly windows, until the recovery said that it could not recognize the error.
Proceeding to boot normal windows via the correspndent button in the recovery, the recovery itself came up again scanning for errors. I waited again only for the same outcome, and restarted my pc.
Yeap the recovery again scanning for errors.
How the hell did my boot became corrupted after just a crash. I've been fighting since yesterday for hours to fix this shitty situation but to no avail. I really dont want to clean install...
I couldnt even sleep well last night thinking that I have to fix this after work today...
Fuck my life, fuck windows3
Eloquent is so fucking slow, my (dead) grandma queries faster. It takes the fucking double of time on a simple query with only one join for maybe ~200 rows... From now on I go fucking back to raw SQL in my Laravel projects. 😤16
I really got in love with nodejs and shit. And to be honest, the whole async thing isn't that shitty either. I mean the performance itself seems to be whack af (see onoff benchmarks for reference) but your whole project is more responsive.
BUT FOR FUCKS SAKE THE ASYNC WRITE DOWN OF A SETTINGS FILE FOLLOWED BY SOME STUPID CRASH INDUCING MISTAKE I MADE MYSELF, LEADING TO THE WRITE FUCK UP AND ESSENTIALLY ERASE THE FUCKING CONTENTS OF THE DAMN SETTINGS FILE IS JUST LIKE SMEARING TOOTHPASTE ALL OVER MY FRIGGIN BALLSACK!
What do you think is worthy of GitHub?
I have this idea that none of my personal projects are worthy of GitHub. Most of them are graphical visualisations, like fraktals and sorting algorithms, and small <200 lines scripts that are in no way useful, like benchmarks of sorting algorithms and different programming languages.
How do you guys know when the project is worthy?17
so i decided to do some benchmarks for chrome and firefox hypetum ...
TLDR : chromes kicks ass sometimes half the time it takes ff to run some benchmarks.
HTML5/CSS3 support is also better in chrome. overall chrome looks to be the best.
if you're a privacy nut i suppose you won't give a shit but yeah overhyped.9
(rant) -> !rant
Wrote a long ass email to our stupid client explaining why the fucking feature he's draining our souls for is useless. With technical reasons, benchmarks, links to references, alternatives... and with the approval of our manager.
He replies with "no, this is not approved". With no will to discuss anything.
I go down to my manager, blood boiling, and told him that I cannot deal with that sort of arrogance. I did all I could to properly explain what a fucking twig would've understood.
Turned out my manager has already replied defending us. Just didn't want to get us involved in the bs.1
Ugh... those feels when your 2 year old gaming PC is already falling way behind on benchmarks and handling games. AMD FX sucks so hard.6
The way this sidenav behaves on mobile.
When will people learn the simplest rules?
Any touch command available on every part of the screen is a mistake.2
So today I have to get ready for the biggest competition in my life (competition is Tommorow).Its an annual competition for University undergrads where I have to build a cluster(hardware) and install the software eg(openmpi,zabbix,hpcc,hpl and some other benchmark programs) and then run the benchmarks in the hope of getting higher scores with a budget they give.i have a team of 3 other talented individuals.i hope.i do well there.
Just finished building a new Linux workstation that my company bought me! That Ryzen 2700X is just ridiculously fast! I'm not talking about irrelevant FPS benchmarks on some hip game...
I'm talking about compile time for the Linux kernel and buildroot!
Long story short, is about 5x my previous workstation with a Xeon 3.
Now I wanna get my hands on a 32 threadripper for my personal computer!!1
Damn, I'm conducting some benchmarks on go and php...
A php page that simply returns "hi" with no framework is a lot slower than 1000 calls with 200 concurrency to a go function that queries redis and returns a json.3
What a productive day! Managed to speed up some code by getting rid of some classic ASP AND sticking it in a dotNET library instead! Ran some benchmarks and it seems to work pretty fast now 😎1
This partnership gives Google advertisers access to Unity’s mobile gaming network through Universal App Campaigns (UAC). This means Unity mobile app developers will be able to monetize with Google’s ads without any additional required development work.
To date, the partnership has resulted in video completion rates of 87.3% compared to the average benchmark of 32.5% (Source: Moat Analytics Benchmarks: Q4 2017). Furthermore, Unity has consistently scored 97.8% for valid and viewable rates, well above in-app benchmarks of 54.7%, providing a brand-safe environment for advertisers while also creating value for developers and gamers alike.2
I was considering creation of client-server app to learn some new language and wanted it to have the best possible performance.
The client part is not an issue, it can be whatever, really... the server choice is pain in the ass...
I have looked up web server framework benchmark here: https://techempower.com/benchmarks/
So comparing those I have 2 options:
- Actix (Rust)
- Vert.x (Java)
I was about to use Vert.x, it handles requests asynchronously which seems nice.
However I thought, what if I wanted to sell this shit someday and Java requires licenses, while Rust don't.
I am terrible if it comes to licenses, so...
How does Java licensing work?
It is on client to pay it cause he is using it or on me as a product owner?
Or should I switch to Rust already?6
Relatively often the OpenLDAP server (slapd) behaves a bit strange.
While it is little bit slow (I didn't do a benchmark but Active Directory seemed to be a bit faster but has other quirks is Windows only) with a small amount of users it's fine. slapd is the reference implementation of the LDAP protocol and I didn't expect it to be much better.
Some years ago slapd migrated to a different configuration style - instead of a configuration file and a required restart after every change made, it now uses an additional database for "live" configuration which also allows the deployment of multiple servers with the same configuration (I guess this is nice for larger setups). Many documentations online do not reflect the new configuration and so using the new configuration style requires some knowledge of LDAP itself.
It is possible to revert to the old file based method but the possibility might be removed by any future version - and restarts may take a little bit longer. So I guess, don't do that?
To access the configuration over the network (only using the command line on the server to edit the configuration is sometimes a bit... annoying) an additional internal user has to be created in the configuration database (while working on the local machine as root you are authenticated over a unix domain socket). I mean, I had to creat an administration user during the installation of the service but apparently this only for the main database...
The password in the configuration can be hashed as usual - but strangely it does only accept hashes of some passwords (a hashed version of "123456" is accepted but not hashes of different password, I mean what the...?) so I have to use a single plaintext password... (secure password hashing works for normal user and normal admin accounts).
But even worse are the default logging options: By default (atleast on Debian) the log level is set to DEBUG. Additionally if slapd detects optimization opportunities it writes them to the logs - at least once per connection, if not per query. Together with an application that did alot of connections and queries (this was not intendet and got fixed later) THIS RESULTED IN 32 GB LOG FILES IN ≤ 24 HOURS! - enough to fill up the disk and to crash other services (lessons learned: add more monitoring, monitoring, and monitoring and /var/log should be an extra partition). I mean logging optimization hints is certainly nice - it runs faster now (again, I did not do any benchmarks) - but ther verbosity was way too high.
The worst parts are the error messages: When entering a query string with a syntax errors, slapd returns the error code 80 without any additional text - the documentation reveals SO MUCH BETTER meaning: "other error", THIS IS SO HELPFULL... In the end I was able to find the reason why the input was rejected but in my experience the most error messages are little bit more precise.2
Now that the RX480 is out, I'm crying I can't afford, but do you guys know where I can find openCL benchmarks?
Whenever somebody asks my team to forge results , benchmarks ...