[–]▶ No.1071604[Last 50 Posts]>>1071608 >>1071618 >>1071637 >>1071638 >>1071664 >>1071671 >>1071704 >>1071754 >>1071842 >>1071997 [Watch Thread][Show All Posts]
TL;DR: My GF wrote a coroutine library whose context switches are more than 20 times faster than Go's goroutine scheduler and basically Go is cringe tier.
My GF wrote a C++ coroutine library. When she benchmarked it on her Intel(R) Core(TM) i7-8700 CPU (3.20GHz) on 12 threads, she achieved a system-wide throughput of 166MHz (6ns) for coroutine context switches, while the equivalent Go code (also 12 threads, same amount of goroutines and iterations per goroutine) performed miserably at 7MHz (140ns). When compiled with gccgo -O3 it was even worse at 3.8MHz (263ns). This means her implementation of coroutines is more than 20 times faster. How can you fuck up the main feature of a language that bad, considering Google had a whole team of developers working on it, and she did this on her own?
Benchmark suite repo: https://github.com/sm2coin/libcr-test
Go benchmark code: excuse the shitty code
package main;
import(
"fmt"
"runtime"
"time")
func loop(i int, finish chan int) {
for i > 0 {
runtime.Gosched();
i = i -1;
}
finish <- 1;
}
func main() {
fmt.Println(runtime.GOMAXPROCS(0));
iterations := 10000 * 20;
messages := make(chan int);
start := time.Now();
coroutines := 600;
for i := 0; i < coroutines; i++ {
go loop(iterations, messages);
}
for i := 0; i < coroutines; i++ {
<-messages;
}
duration := time.Since(start);
fmt.Print(duration.Seconds());
fmt.Println("s");
fmt.Print( float64(coroutines * iterations) / duration.Seconds() / 1000000);
fmt.Println("MHz");
fmt.Print(float64(duration.Nanoseconds()) / float64(coroutines * iterations));
fmt.Println("ns");
}
Rate her project.
Lel I'm tired and I bet I fucked up the OP ;^)
____________________________
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071608>>1071610
>>1071604 (OP)
Stupid nigger
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071610
>>1071608
>t. Robert Griesemer, Rob Pike, and Ken Thompson
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071611>>1071615
I rate it tranny/cuckchan.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071615>>1072188
>>1071611
My GF doesn't know about the chans. And she's a real woman.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071618>>1071619 >>1071622
>>1071604 (OP)
> My GF
You wearing drag and a wig does not count as having a GF.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071619
>>1071618
>I've been had!
It was real in my mind, though.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071622>>1071627
>>1071618
your code sucks and you say that just so people would not say mean things to you
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071627>>1071776
>>1071622
>You almost tricked me into thinking you had a GF so now I am mad so I insult your code.
heh
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071631>>1071637 >>1071643 >>1071737 >>1072097
The best part is it's probably not even faster because of anything she wrote, it's just faster because Go's snowflake-compiler can't optimise for its life.
also how 2 get smart gf, all my crushes end up being physics girls
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071637>>1071643
>>1071631
[spoiler] traps :^) [/spoiler}
>>1071604 (OP)
tl;dr?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071638>>1071643
>>1071604 (OP)
>My GF wrote a coroutine library whose context switches are more than 20 times faster than Go's
<LARPING:
<Telling Stories that Never Happened.
This week: Moar extravagances of accelerationism tbh, Feminism is finally proven correct, goy! White men BTFO!!!!!1111
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071643>>1071644 >>1071647 >>1071776 >>1071819 >>1071847
>>1071631
ffs that whole GF thing was a fucking joke to serve as a pseudo deanonymisation because of self-doxxing post. I never even held hands before.
>>1071637
>tl;dr?
I presented my coroutine lib which is verifiably 20+ times faster than goroutines.
>>1071638
>Hurr OP is an SJW or something
As stated before, the whole GF thing was a joke.
>It isn't faster
<After I linked the program you can use to verify it for yourself
k mate.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071644>>1071776
>>1071643
>deanonymisation
I meant to write depersonalisation
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071647>>1071658 >>1072009
>>1071643
>ffs that whole GF thing was a fucking joke
I knew it. It's a pretty clean implementation. About the only evidence of potential chick-code I could detect was superfluous comments in the headers, e.g.
/** Initialises the scheduler. */
HybridScheduler();
I mean, c'mon...
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071658>>1071776
>>1071647
I know it's retarded in some cases, but I document every entity for the Doxygen docs. This sometimes results in stating the obvious, but otherwise, it can quickly happen that my lazyness tales over and I document less and less.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071664>>1071666
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071666>>1071776
>>1071664
</g/
last time I checked, /g/ was full of faggots and had no quality threads. So this time I didn't even bother to check it out.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071670>>1071736
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071671>>1071736
>>1071604 (OP)
I don't think goroutines are coroutines.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071704>>1071736
>>1071604 (OP)
>My GF
tranny
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071736>>1071776 >>1071799
>>1071671
Goroutines are coroutines: Routines that can be paused and resumed at will. Although Go doesn't have the yield and notify keywords, it does have runtime.Gosched(), and channels can be used to notify and await stuff. It's certainly not as powerful as coroutines in other languages, but I'd still classify it as a coroutine. And only having restricted instead of general capabilties, one would expect them to be noticeably faster than coroutines, but alas, Google writes bad code and fucked it up.
>muh simplicity spiralling, no templates
>fast parallelism for system programming
<inferior language in every aspect
jej
>>1071670
>>1071704
Read the thread before posting, otherwise, it makes you look retarded. I suggest you lurk for 2 gorillion more years before posting again. Also learn how to detect obvious irony.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071737>>1071751 >>1071776 >>1071925
>>1071631
btw, even in debug mode it's way faster, so even if the go compiler could optimise, it would still lose against my code. That's why Go is cringe tier.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071742>>1071744 >>1071751
No surprise. Go is fucking shit. The only "positive" things about Go are:
>it's simple (actually just dumbed down so Google can hire retards and pay them next to nothing)
>low GC pauses (also low throughoutput)
>no Java-style Exceptions (Go still manages to be worse than Java though)
>import github
>goroutines (it's a shit meme though. The only upside is convenience.)
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071744>>1071751
>>1071742
based
Go doesn't even has min/max functions for integers. What a a joke.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071751>>1071753 >>1071763 >>1071926
>>1071742
>>1071737
>>1071744
https://github.com/ksimka/go-is-not-good
after reading this I still don't understand why you think it's so apocalyptically bad, most flaws boil down to it's essential philosophy (dumbed down, goroutines, muh unix, muh 70s), or it being too young (muh generics, muh "slow", muh shitty compiler)
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071753>>1071756
>>1071751
Go does nothing that other languages aren't doing better.
The only reason Go exists and is popular is Google.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071754>>1071764
>>1071604 (OP)
>gccgo
Get a real compiler.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071756>>1071757
>>1071753
Idk man, I think it's doing pretty good, plus, no other programming language is as easy to optimize for or even gets near to go's coroutines.
It could easily replace babby's first languages like python or ruby while letting some growing room and not being extraordinarily terrible like the aforementioned.
The google hate is unjustified, even if it weren't for google it would've existed, it just happens that they got Rob Pike and Ken Thompson as token employees
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071757>>1071758 >>1071776 >>1071792
>>1071756
>no other programming language is as easy to optimize for or even gets near to go's coroutines.
Did you even read the OP?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071758>>1071763
>>1071757
yes, C++ isn't exactly a babby's first programming language
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071763>>1071766 >>1071771
>>1071751
>don't understand why you think it's so apocalyptically bad
>most flaws boil down to it's essential philosophy
Yes, that's exactly what I hate about Go.
>muh generics
They omitted them on purpose because muh simplicity spiralling, because first-time coder interns at google can't into meta programming. And now that even experts are using it, they suddenly want to add back generics or something similar to it. In the end, the community will make it a second C++, but with completely gay syntax and semantics and worse performance.
If you really want to make a good modern programming language, then just improve C++'s syntax to be PDA-parsable and remove some obscure legacy shit.
>>1071758
>Muh beginner-unfriendly C++
My first programming language was C++. That was back in 2010. Before that I did a few hours of C64 basic, but that's hardly what I'd call real programming, it is so oversimplified that it hardly relates to modern programming.
Only pussies start out with a "beginner's language", which gives them only a superficial understanding of how computers work, and they stick to it for far too long because it's comfortable. Instead of needing 3x the time before being able to write a program, but gaining a deeper understanding, they just fuck around scratching on the surface for years. Those types (and SJWs (inb4 they are the same)) are exactly what is wrong with the programmer community, and probably the only reason languages such as python and Go are shilled everywhere.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071764
>>1071754
Did you not read the OP properly? I said that gccgo was even worse than Google's compiler, which implies that I use both. Or are you hinting at a third go compiler that is superior?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071766
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071767>>1071771
>>1071765
> for i > 0 {
> i = i - 1
> }
If the compiler isn't complete trash this will get optimized away.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071768
>>1071765
>Removes yield call
You fucking idiot. This is a scheduler benchmark.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071769>>1071771
>>1071765
>0.10406108333333333ns
Are you retarded?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071770>>1071771
>>1071765
>With this simple trick, this /tech/ anon sped up Go benchmarks by over 1000 times.
>How? Just watch this video and
BASICALLY YOU'RE FUCKING ACCELLERATED
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071771>>1071772 >>1071773
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071772>>1071774
>>1071771
>triggered over being told
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071773>>1071776
>>1071771
No. I am posting with 2 IDs in this thread as I used my phone and my work PC.
>t. OP
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071774>>1071778 >>1071780 >>1071927
>>1071772
Fine, I'll only use c++ now, enjoy your segfaults
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071776>>1071778
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071778>>1071779 >>1071780
>>1071774
Use Rust
>>1071776
The last post is mine though.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071779
>>1071778
No, I enjoy having a penis
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071780>>1071781
>>1071774
>I use C++
>Enjoy your segfaults
Why would I have segfaults from you using C++?
>Admits to being unable to write proper C++
Go back to your safe space language
>>1071778
Oops, well I thought that I could have written that, whatever. Point is, I did not samefag the way I was accused.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071781>>1071782 >>1071786
>>1071780
Ever used anything written in c++ by hobbyists? It's a hot mess
Examples:
telegram-desktop
transmission-remote-gtk
chrome/ium
kdenlive
veracrypt
owncloud desktop client
I'd rather have them written in safe space languages, simply because I agree with go's philosophy that programmers are stupid and shouldn't come near c++
Don't tell me about smart pointers, they're calculated in compile time and thus limited in effectiveness
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071782>>1071784 >>1071786
>>1071781
>I agree with go's philosophy that programmers are stupid and shouldn't come near c++
>smart pointers are calculated in compile time
You're right, you shouldn't be using C++. But you shouldn't be programming computers at all. Even using your safe space language, you're just shitting up the code so your more competent colleagues will have to spend more time fixing your shit than the time they'd spend to write it from scratch. So just do the world a favour and become a trashman or something.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071784>>1071786 >>1071801
>>1071782
Sadly there's not enough c++ geniuses to fill up basic crap jobs like microservices engineering, which go covers well.
So I understand that your problem with go is that it isn't c++?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071786>>1071792
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071792>>1071797 >>1071801 >>1071803
>>1071786
Ever compiled anything written in rust?
>>1071757
Coming back to this, context switches aren't a real world benchmark and no one will ever use your gfs library for anything
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071797>>1071801 >>1071803
>>1071792
https://github.com/valyala/fasthttp
Proof that goroutines are fast in a real world environment
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071799
>>1071736
I was going to reply saying you are just 100% wrong about goroutines but then I noticed you were being ironic. haha good one faggot.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071801
>>1071784
>Sadly there's not enough c++ geniuses to fill up basic crap jobs like microservices engineering, which go covers well.
Most programs nowadays are made by the masses for the masses. To someone who is even a little bit of an idealist, any mainstream software is fucking cancer. You'd literally have to be some niggercattle to be content with mainstream software. When some autist voluntarily writes software that will last, without any deadlines and retarded tradeoffs (so basically, if he's not prohibited from "muh over-engineering" by the company), then once it is mature, that software makes it much easier to write more complex high-quality applications. Company code was never on the same level as autistic hobbyists' code.
>So I understand that your problem with go is that it isn't c++?
Well, I also have problems with C++, but C++ is by far the best language I ever came across. But yeah, go is so much worse than C++ that there is no excuse for using it unironically.
>>1071792
>context switches aren't a real world benchmark
So, if you have massive amounts of parallelism (say, 100k to 1M coroutines), which basically only occurs in high-performance applications, then it makes a huge difference whether you spend 1% of your time context-switching, or 20%.
>your gf's library
read the thread before posting.
>>1071797
I bet it would be much better if they used C++ though. This is exactly the "good enough" mentality that I hate so fucking much.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071803>>1071804
>>1071792
>Ever compiled anything written in rust?
Many times. It just werks.
>>1071797
https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=query
>Rust and Java are faster
lol
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071804>>1071805
>>1071803
That's using a database, I'm talking about the library itself
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071805>>1071807
>>1071804
You're talking about microbenchmarks that have no basis in reality.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071807>>1071809 >>1071955
>>1071805
Isn't this what the thread is about?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071809>>1071810
>>1071807
Yes. Although context switching is a serious concern once you go massive parallelism.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071810>>1071811 >>1071814
>>1071809
once you go that far wouldn't you be using c++ anyways
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071811>>1071813
>>1071810
Well, that's what I was thinking, but then came all the Go fags saying "muh cheap parallelism" and triggered me into this rage.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071813>>1071819
>>1071811
It's cheap, but it's not that cheap, 1kb is reasonable af
Again, for doing fast crappy jobs it's perfectly fine, and it's probably worth the savings in development time. Good enough means not throwing money and time into a bottomless pit. It's better than python by a long shot, and python is the go to language for that kind of job, so be glad it exists and embrace it
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071814>>1071816
>>1071810
And make no mistake, if someone writing a language designed to support cheap parallelism doesn't make it truly cheap, you know what levels of sloppiness to expect in all other parts of the language. Google doesn't give a fuck about the language, there are no ideals behind it. They just want something barely functional and simple enough to employ masses of cheap programmers for their world domination machinery.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071816>>1071819
>>1071814
It's very sloppy overall, especially the standard library, but it werks
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071817>>1071819
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071819
>>1071813
>implying someone of my abilities and disposition would ever desire to use a language that is only capable of doing a fast crappy job
>implying I care about the costs of development
>1kb is reasonable
In libcr, coroutines have an overhead of 56/48 bytes (depending on whether you use the compact instruction pointer mode). Although you have that overhead for every recursion, that would still beat goroutines until you have a nesting depth of around 20, which is pretty rare.
>>1071816
Considering that python already existed, I wonder why Google even made the language. Nvm, it's because they want to lock in everyone technologically. That's also why you have to hardcode the remote location of your dependencies into your source files, so that components become hard to exchange, and you can't just use forks by third parties without having to go over your whole codebase.
>>1071817
see >>1071643. Read the thread before embarrassing yourself.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071840
>How can you fuck up the main feature of a language that bad, considering Google had a whole team of developers working on it, and she did this on her own?
I assume it's slow because it needs to have all the NSA Spyware shit in there.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071842>>1071843 >>1071845
>>1071604 (OP)
I ran the Go code. Here is the output:
4
81.6272729s
1.4700968896389532MHz
680.2272741666667ns
Is this a joke??????????????
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071843>>1071845 >>1071976 >>1071982
>>1071842
I wrote a Rust version:
#![feature(async_await, duration_float)]
extern crate futures;
use {
std::{
future::{Future},
pin::{Pin},
sync::mpsc::{self, Sender},
task::{Context, Poll},
time::{Instant}
},
futures::{
executor::{ThreadPool},
task::{SpawnExt}
}
};
struct Yield(bool);
impl Future for Yield {
type Output = ();
fn poll(mut self: Pin<&mut Self>, ctx: &mut Context) -> Poll<()> {
if !self.0 {
self.0 = true;
ctx.waker().wake_by_ref();
Poll::Pending
} else {
Poll::Ready(())
}
}
}
fn main() {
let mut executor = ThreadPool::new().unwrap();
let iterations = 10_000 * 20;
let (sender, receiver) = mpsc::channel();
let start = Instant::now();
let coroutines = 600;
for _ in 0..coroutines {
executor.spawn(l(iterations, sender.clone())).unwrap();
}
for _ in 0..coroutines {
receiver.recv().unwrap();
}
let duration = start.elapsed();
println!("{}s", duration.as_secs_f64());
println!("{}MHz", (coroutines * iterations) as f64 / duration.as_secs_f64() / 1_000_000.0);
println!("{}ns", duration.as_nanos() as f64 / (coroutines * iterations) as f64);
}
async fn l(mut i: u32, channel: Sender<u32>) {
while i != 0 {
Yield(false).await;
i -= 1;
}
channel.send(1).unwrap();
}
5.5505336s
21.619543029160297MHz
46.25444666666667ns
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071845>>1071860
>>1071842
>Is this a joke?
This is where diversity and anti-meritocracy and "good enough" leads you to. Dumb your software down so even retards can contribute, and then praise whatever the outcome is (regardless of quality), confirming your bias that diversity is a strength.
<With diversity, we could barely achieve a sloppy implementation useful only for quick dirty jobs
<This is good and only possible because we used so much diversity
Meanwhile, if you really try to do it right, you get something that's at least one order of magnitude more performant.
>>1071843
care to run libcr-test and list the results? (the multi-threaded HybridScheduler ones).
I'd really be interested in the comparison.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071847>>1071852
>>1071643
>merely pretending
Should've gone all the way buddy, ffs don't drop the act that quickly when pressured faggot.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071852
>>1071847
I wasn't even trying to convince anyone, it was actually supposed to be so badly crafted of a story that everyone would instantly see through it, but alas, /tech/ has some newfriend troubles.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071860>>1071863
>>1071845
I switched computer so the results are a bit different.
Go:
4
21.136920666s
5.677269735559313MHz
176.14100555ns
Rust:
2.920603722s
41.08739542310286MHz
24.33836435ns
C++: https://pastebin.com/VnSA1DDA
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071863
>>1071860
Thanks, appreciate it.
>Rust: 41MHz
>C++: 77MHz
Heh. Another reason I won't ever use rust.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071865
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071925>>1071929
>>1071737
>btw, even in debug mode it's way faster, so even if the go compiler could optimise, it would still lose against my code.
I don't think you're aware of how bad Go's optimisation is.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071926
>>1071751
>most flaws boil down to it's essential philosophy
Yes, that's the problem. Essential philosophy permeates an entire language.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071927
>>1071774
Stop being a fag and write D
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071929
>>1071925
I was making the case that even if I don't use C++ optimisations, my code still much faster than Go. So the hypothetical argument "you're comparing optimised code with unoptimised code" is irrelevant, as even if Go had optimisations, they would never be as fast as my optimised C++ code.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071932>>1071934
goroutines are still not coroutines you mong
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071934>>1071955
>>1071932
Whatever it is, it is painfully slow.
pathetic
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071955>>1071957 >>1071958 >>1072156
>>1071807
Bazinga
>>1071934
>My C++ is 20x faster!
You're probably doing something completely different than the goroutine. Go pretty consistently benches around 2-5x a decent C/C++ solutions for similar algorithms.
>muh generics
This one irks me. Everyone praises Rust for generics, which it monomorphizes. That means the compiler generates a type-specific variant of your function for every possible type the function could take (that the compiler detects). There are plenty of code generation tools in go that do the same thing, and it's a pretty uncomplicated tool to write oneself. But everybody flails their arms and acts outraged about it. I mean, typing
`go generate && go build` vs
`cargo build`
is treated like some real big fucking deal. They're doing the SAME thing, but because one is done by the compiler, it's enlightened, woke, based, and redpilled. Using a tool or writing your own for an infrequent problem just gets all these delicate programmers in a huff.
Meanwhile, rolling your own generics saves your compiler a lot of complexity, which, almost definitely improves build times. Paying your $150K/yr software "engineer" to read fucking xkcd and Reddit for 10-30 minutes EVERY time he compiles is a huge waste of money. You can hate Google for insulting your obvious brilliance with an unworthy compiler and language spec, but, from a business perspective, they made the right decision.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071957
>>1071955
lol
This is peak UNIX braindamage.
>Meanwhile, rolling your own generics saves your compiler a lot of complexity, which, almost definitely improves build times.
Holy shit you're retarded.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071958>>1071964
>>1071955
Agreed.
Also why should the compiler read the source code from multiple files scattered around in various directories? Just write a tool that does this and pipes it to the compiler.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071964>>1071979 >>1071982 >>1072173
>>1071958
Why stop there? Make every optimization pass and the code generators for different architectures seperate binaries.
Do one thing and do it well. Why isn't there a single compiler conforming to the UNIX philosophy?
Maybe we should change that. I'll get started on the logo.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071976
>>1071843
>use let let let let let let let let let
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071979
>>1071964
Don't forget the furry anime mascot!
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071982>>1071985 >>1072066
>>1071964
Did you write a bunch of shit defending C++ With its header and make file bullshit with one breath and in the other make a reductio ad absurdum argument that the Go compiler doesn't for literally everything you want? Shit, dude, why doesn't your compiler write the program for you? Why doesn't it provision some cloud bullshit, containerize your "app" and deploy just by reading your thoughts? Real brain damage, there, fren.
>>1071843
Are we comparing benchmarks between futures (an event loop) and green threads? Is that what this whole thread is about? Holy shit, Mr. BS in Comp-sci, this is even bad by /tech/ standards.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071985>>1071989 >>1072004
>>1071982
What the fuck is wrong with you? Read the post he was answering to, everything was satirical. The joke is that Go doesn't have generics, and you need an extra tool just to generate template code, which begs the question as to why it is not part of the language.
>Are we comparing benchmarks between futures (an event loop) and green threads? Is that what this whole thread is about? Holy shit, Mr. BS in Comp-sci, this is even bad by /tech/ standards.
He had to manually implement a yield function, if I observed this correctly. That's why he has to use futures. But the whole thread is about my C++ implementation being superior to Go and Go being cringe tier.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071989>>1071998
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071997>>1071999
>>1071604 (OP)
>SM² Storage Network is a decentralised, secure and trust-less file hosting platform with emphasis on minimal ecological footprint, and a part of the SM² Network.
Wew
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071998
>>1071989
The "why" was rhetorical, and more of an appeal to common sense.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1071999>>1072022
>>1071997
I know it sounds like bullshit but it's actually well thought out. The only problem is that none of us have the spare time to finish the project. I think we have around 80% of the specification done, but there has been no progress in about a year.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072004>>1072006
>>1071985
Go is not intended to out-compete properly-written C/C++ on pure performance benchmarks. It's intended to be a useful general-purpose language with *reasonable* performance that automatically prevents bad programmers from making the sorts of dumb mistakes that have led to so many security issues due to poorly-written C/C++.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072006>>1072022
>>1072004
And yet it fails to implement even basic functionality
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072009>>1072036
>>1071647
>superfluous comments are bad
Stop drinking soy and get cargo cults you learnt about on reddit off your head.
It doesn't matter if it's superfluous, it will avoid trouble.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072022>>1072046 >>1072086
>>1071999
>My blockchain vaporware isn't stupid at all!
Nobody has a profit model for any blockchain "technology" that doesn't involve swindling fools out of investment capital with a buzzword salad. More than a few software "engineers" are going to need to take up professional lawn care because the investment capital (and the Fed through QE) who prop up the entire industry aren't seeing companies with stable, sustainable profit models emerge from those dollars. If your return on investment completely depends on finding more, new investors, then you have a ponzi. About 50-75% of devs I know are in the ponzi-tech/vaporware-marketing-hype economy. These pajeets and hipsters are about one bad month in the stock market away from "do you want fries with that." The rest work for government contractors or are in-house development for companies that make actual products. Oddly enough, those are almost all stable, married, java developers.
Contrast that with you:
"Minimal ecological footprint" is actually one of your stated goals. Hey, here's a plan. Don't make any of this gay vaporware shit nobody asked for. You'll be amazed at how much electricity you saved. Carbon-fucking-neutral, baby!
>>1072006
What are the odds that OPs truly brilliant event-loop that... uhh... computes a benchmark, definitely has the same runtime characteristics and is a comparable implementation to goroutines. I'm sure the ability to detect race-conditions is built right in, too. Of course, OP is just much, much more brilliant than anybody at Google, so his machine instructions are just faster than dumb googler-written machine instructions. Computers, can sense the intelligence of their programmers and go fast or go slow accordingly.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072036
>>1072009
>It doesn't matter if it's superfluous, it will avoid trouble.
That doesn't follow. By virtue of being superfluous, it wastes space and increases cognitive load while not adding anything of value. So explain: how exactly do superfluous comments "avoid trouble"? I'm all ears.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072046
>>1072022
>Computers, can sense the intelligence of their programmers and go fast or go slow accordingly.
Meme responsibly anon.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072066
>>1071982
>Did you write a bunch of shit defending C++
No. C++ is trash. Go is worse though.
>Are we comparing benchmarks between futures (an event loop) and green threads?
Are you retarded? How do you think those futures get executed?
Protip: The first line in the main function. It's a fucking ThreadPool. There is no event loop. Only green threads.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072086>>1072087 >>1072199
>>1072022
>No profit model
We planned to have a fee of about 1% on the storage market and another small fee on the block reward.
>Dont make a blockchain for the environment
The problem is that all other blockchains out there are using enormous amounts of electricity.
>Not a valid benchmark
The scheduling speed of goroutines is the limiting factor on how much parallelism can be achieved. It sets the upper bound. So, from that alone, I can support up to 20 times more parallel executions in the same time. This is basic logic and maths.
>I am smarter than the Google team
Well evidence suggests it, unless you have a better explanation.
>PCs can feel the intelligence of the programmer
Are you implying that I and the Go devs used the very same instructions for our implementation? I bet google can't/doesn't want into relaxed atomics, because they think they can't handle it.
>Race condition detection
Huh. That's a compiler feature. Races are when you fuck up/don't use your atomics. I am not here to help a baby walk, I am here to make pod racers squeeze out every bit of performance out of their vehicles. The manly stuff, you know? Not your happy safe space idiocy. If you can't into atomics and get races, use mutexes. And if you can't even into mutexes, read a fucking book.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072087>>1072088 >>1072089
>>1072086
>The problem is that all other blockchains out there are using enormous amounts of electricity.
We have a solution for this. It's called nuclear power.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072088>>1072092
>>1072087
It's exponentially growing.
Even nuclear power can't solve infinite exponential problems.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072089>>1072092
>>1072087
>Nuclear power has no drawbacks so we can squander it xD
Nice opinion ;^)
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072092>>1072093
>>1072088
>infinitely
no
>>1072089
What drawbacks though?
>inb4 nuclear waste
Just shoot it onto the sun.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072093>>1072096 >>1072101 >>1072106
>>1072092
The chain grows and grows and with each node it consumes more energy. It's bound to become infinite.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072095
That's why blockchain is a meme.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072096
>>1072093
It is bound to become large. But that is nowhere near infinite.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072097>>1072105
>>1071631
>smart
>physics
smart doesn't imply choice of programming as a hobby/profession.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072101>>1072104
>>1072093
The electric grid grows and grows and with each node it produces more energy. It's bound to become infinite.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072104
>>1072101
No it's bound to come to a halt because there's limited space and material on earth.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072105>>1072143
>>1072097
I know, my point was that I'd like to appeal to smart chicks
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072106
>>1072093
No it's bound to come to a halt because there's limited space and material on earth.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072111>>1072125 >>1072153
>implying blockchains will never get squashed
You can simply collapse all history that is older than some point in time, and then you make that state your new genesis block. Although this process needs cooperation of all miners.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072125>>1072129
>>1072111
>implying electric grids will never get squashed
You can simply collapse all nuclear power plants that are older than some point in time, and then you make that state your new supet nuclear power plant. Although this process needs cooperation of all nuclear power plants.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072129
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072143>>1072151
>>1072105
> smart chick
> dating some virginbearder from 8ch.net
choose one
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072151
>>1072143
It's more likely than you'd think
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072153>>1072154
>>1072111
The better explanation is that you're making an apples to oranges comparison.
Post your shit to an issue on the Golang github. I'm sure you'll blow everyone's mind and Rob Pike will thank you for teaching him how to program. Or Publish your study to Medium.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072154
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072156>>1072164
>>1071955
`go generate && go build` vs
`cargo build`
You mean `make` right?
Do you even program?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072164
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072173>>1072174 >>1072175 >>1072191
>>1071964
Making consistent spelling mistakes across the whole board makes it easier to fingerprint your posts and gain information about you. Plus if anyone wanted to correlate it with outside text they'd just have to run a spell checker over both texts, if anything (spelling mistakes are a very small part of stylometry). Stop this esoteric avatarfagging.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072174>>1072175
>>1072173
Is this a joke?
There is not a single spelling mistake in the post.
Also post a few examples of other posts from me.
Protip: You can't.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072175>>1072191
>>1072173
>>1072174
Ok, there is one. Unfortunately for you I don't usually make this mistake so you won't be able to "fingerprint" my posts.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072188
>>1071615
>"the chans"
Please kill yourself.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072191>>1072214
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072199>>1072206
>>1072086
https://hackernoon.com/ten-years-in-nobody-has-come-up-with-a-use-case-for-blockchain-ee98c180100
>Everyone says the blockchain, the technology underpinning cryptocurrencies such as bitcoin, is going to change EVERYTHING. And yet, after years of tireless effort and billions of dollars invested, nobody has actually come up with a use for the blockchain---besides currency speculation and illegal transactions.
>Each purported use case --- from payments to legal documents, from escrow to voting systems—amounts to a set of contortions to add a distributed, encrypted, anonymous ledger where none was needed. What if there isn’t actually any use for a distributed ledger at all? What if, ten years after it was invented, the reason nobody has adopted a distributed ledger at scale is because nobody wants it?
Think about it.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072206>>1072211 >>1072422
>>1072199
>Trust the government and banks, they surely won't fuck with your "money"
>Don't develop platforms that are protected against tyranny
Right on spot
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072211>>1072212
>>1072206
>protected against tyranny
Meanwhile Libra.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072212
>>1072211
kek. Libra is a fucking joke. All cryptocurrencies should be operated like bitcoin: No ICO, everyone can mine, etc. The only thing I do find tolerable and just is for the inventor/creator to collect a small fee, but never more than necessary.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072214
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072422>>1072425 >>1072426
>>1072206
Blockchain can provide more assurance that a leger hasn't been altered after the fact. It does NOT guarantee that what is recorded in that ledger is in any way authentic or correct. Sort of like how BTC was buoyed up by billions in fake transactions. Government can do that too.
BTC doesn't protect you from anything. The exchanges aren't anonymous. If you want to make a discrete transaction, use cash. If you hate the fed, barter. Firearms are surprisingly good stores of value, for example.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072425
>>1072422
>If you want to make a discrete transaction, use cash
Cash is increasingly being killed off by corporations like Visa. Monero on the other hand is very anonymous.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1072426
>>1072422
Cryptocurrencies are the only way to have reasonable confidence that you won't get fucked over by some shady organisation when trying to make a digital transaction. Of course, they are not 100% secure either, but that's as good as you can have it, I guess.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073232>>1073239 >>1073241 >>1073244 >>1073249 >>1073272 >>1073381
OK, geniuses. If Go and C++ are trash, what's the best alternative that isnt a pajeet-tier language like Java or brainlet-tier language like Python/Ruby/JS?
I can only think of one: C.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073239>>1073240 >>1073243
>>1073232
>C
Spotted the Cnile.
Btw you're post isn't zero terminated.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073240>>1073274
>>1073239
What's your suggestion?
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073241>>1073249
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073243
>>1073239
It is, actually. JS and PHP all zero terminate their strings.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073244
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073249
>>1073232
Tcl + C, or Ada if you really need an Enterprise (tm) language.
>>1073241
>dynamic typing and GC in a language supposed to replace C
No thanks. Using Scheme as a high level language is fine, though; just keep something that can work without a fuck huge runtime or compiler that can still be optimized nicely.
>>1073241
Call me when they make the GC optional, otherwise it's a Java competitor, not sepples.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073267
I don't really understand coroutines, are they basically a way of simulating multiple threads/cpu cores on one single OS thread running on a single physical core at any given time?
Is the goal to essentially execute a little bit of one function then pause it and switch to executing a little bit of another and just switch back and forth a lot to simulate simulaneous execution?
Sorry for being brainlet
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073272>>1073275 >>1073381
>>1073232
Zig is an improved C,
D is an improved C++
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073274
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073275>>1073287 >>1073296 >>1073595
>>1073272
Rust is an improved C/C++
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073287
>>1073275
BASIC is an improved COBOL/VHDL
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073296>>1073332
>>1073275
>grouping C and C++ together like all clueless retards do
LARPer detected
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073322>>1073332
>my GF wrote <nontrivial software>
Doubt.jpg
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073332>>1073335
>>1073296
Why wouldn't I group them together?
C is nearly a subset of C++?
It seems more likely that you are a LARPer.
>>1073322
>i read the thread before posting
doubt.jfif
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073335
>>1073332
>nearly a subset
And nearly is nearly a subset of subset.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073381>>1073472 >>1073607
>>1073232
Go is just fine. It has a niche that it works well in. Problems where your interpreted languages have too much overhead or bad portability and where the time needed for a solution in C++ is not justified, Go can scratch that itch. Lately I've been using it for almost all the problems where I had been using Python except where I want a REPL to interactively explore data and experiment.
>>1073272
>Zig
>spam HN comments in every PL thread to get donations
>rage-post butthurt to lobste.rs because V-lang got more donations
C is not going to be replaced until there is a competitor which has been used to write a viable kernel and OS. So far, many developers have tried in other languages and none have succeeded. No, Redox is not close.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073472>>1073474 >>1073489
>>1073381
V-lang is vaporware and Zig is already highly usable and generates code that sometimes outperforms C, while Rust has super ugly syntax, an annoying and slow compiler, and the generated code is usually 1.5-2x slower than C
>C is not going to be replaced until there is a competitor which has been used to write a viable kernel and OS.
yeah you are 100% correct about this, and it will likely not happen for a long time if ever
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073474>>1073478
>>1073472
>super ugly syntax
spotted the LARPer
>the generated code is usually 1.5-2x slower than C
citation needed
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073478>>1073480
>>1073474
Ok I did some reading, I remember it used to be 1.5x-2x slower code, it seems to have improved significantly since then but Rust still trails C somewhat.
There are some sites with handpicked examples of Rust code outperforming C code but they used different data structure implementations so I wouldn't really count that.
And besides, compiler optimizations (and modern CPU behavior) are so complex and non-deterministic now that if you dig hard enough you can always find examples of some random language beating C code even if C is still the fastest thing out there 90% of the time
case in point: http://paulspontifications.blogspot.com/2013/01/when-haskell-is-faster-than-c.html
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073480
>>1073478
>oops I was caught spreading FUD
>btw Rust is slower than C
citation needed
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073489>>1073501
>>1073472
>V-lang is vaporware
How so? It has an active development, and a recent roadmap for the next version.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073501>>1073521
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073521>>1073526
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073526>>1073565
>>1073521
None of the claims are true. After getting called out for blatantly lying he changed his website and put a WIP icon after every claim.
This whole project's purpose is to get donations.
Volt is made by the same dev. Another scam.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073565>>1073567 >>1073577
>>1073526
>This whole project's purpose is to get donations.
And how is that not true of Zig? Rust is actually better btw.
Sorry, chum, there is no One True lang.
C: embedded and OS
C++: realtime, libraries and games
Rust: realtime and libraries
Go: Utility, tools and networked applications that don't need interop with any other language
Erlang/Elixir: Distributed network applications
Python: Prototyping, data munging, one-offs
Java: You want to be employed
Ada/Spark: You want to be employed, but only by DoD contractors
Javascript: You want to be employed and not make enough to pay rent
CLisp/Racket/Guile: You want to be employed but only by MIT to teach coding and on the strict condition that you never have to write a useful program
OCAML/haskell/F#/Clojure: You don't want to be employed and you want to pretend to be smarter than everyone else.
Nim/Crystal/Pony/Elm/ReasonML: You don't want to be employed and you want to prove that you're dumber than everyone else.
Perl6: when you want to program only in special characters and emojis, and need your code to execute 100-1000x slower than C
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073567>>1073573 >>1073635
>>1073565
Honestly, OCaml is itself is nice. My main concern is that there are no good resources on functional patterns that are used by practitioners. The language is easy to learn but it's very hard to figure out how the different pieces fit together to make prod-ready software and some of the more obscure aspects (e.g functors, monads, even ADTs to some extent) aren't super well documented (case in point: "Real World OCaml" has about half a page about functors - when they are heavily used in any large OCaml project).
It took a lot of handholding by senior OCaml programmers for me to be able to write large projects in it.
t. Jane Street fag
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073573>>1073695
>>1073567
Do you have any tips about module functors or OCaml itself? I recently picked up the language due to wanting a functional language that I could run natively and compile down to javascript for doing research for implementing lag compensation with DCTP (more widely known as FRP).
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073577
>>1073565
>And how is that not true of Zig?
Zig isn' a scam. It works and doesn't make outlandish claims.
>Rust is actually better btw.
Agreed.
>Go
It's useless.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073595>>1073596
>>1073275
Rust is a fucking shit dick cargo-cult language for wamman, fags, cucks, and trannies.
We didn't need yet another goddamn programming language.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073596
>>1073595
Seething Cnile spotted
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073607>>1073616
>>1073381
2019 will be the year of the Lisp Machine
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073616>>1073619
>>1073607
lisp more like you talk with a lisp because big gay lmao
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073619
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073635>>1073696
>>1073567
>Jane Street posts on 8/tech/
The reach of this website is truly alarming.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073695
>>1073573
I can answer specific questions if you have any. There is an active IRC channel on Freenode (##ocaml).
Functors are powerful, it's hard to abuse them so go wild. The better practice is to go for a first working draft of the subset of code you are working with before bringing them in.
Generally speaking, to read code is one of the fastest way to make a lot of these idfeas and patterns "click". There are several high quality projects written in OCaml that use functors heavily. To name a few in no particular order: https://github.com/janestreet/incremental
https://github.com/mirage/mirage
https://gitlab.com/tezos/tezos
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073696>>1073698
>>1073635
I have a lot of coworkers who are perfectly comfortable with board culture. They might find it childish (like most people do) but they know it exists and there is inevitably overlap. Keep in mind a lot of JS people used to hung out in rationalist or libertarian circles back in the days (lesswrong, SCC, etc.).
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073698>>1073764
>>1073696
>a lot
On second thoughts, scratch that. It's not a lot but definitely more than you would think.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073719>>1073764 >>1073768
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073764
>>1073698
I would think zero, so, yeah, color me surprised. Can you share any hot stock tips?
>>1073719
<Take OCaml
< Make imperative coding impossible and implement a bunch of kludgy workarounds to compensate.
< Substantially reduce performance
< Name your new not-OCaml language after a Jew. Name your build tool "cabal".
< Everybody thinks it's a brilliant innovation
That's Haskell in a nutshell.
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.
▶ No.1073768
>>1073719
Most overrated piece of crap I have ever seen. I dislike OCaml but it's obviously far superior for real software engineering. You can do your abstract algebra bullshit in it as well if you are that autistic
Disclaimer: this post and the subject matter and contents thereof - text, media, or otherwise - do not necessarily reflect the views of the 8kun administration.