5 ms·
C++ Workflow: C++ Parallel Computing and Asynchronous Networking Engine
- Barenboim 5y agoAn awesome-cpp framework.
- IChooseY0u 5y agoWill definitely check this out; looks good.
- winrid 5y agoLooks very nice to use, but curious, is there anything here that isn't in the Java stdlib + something like the Spark web framework?
- derefnull 5y agoThe first thing that comes to mind is its c++ implementation, which sets it far far apart from the java project you mentioned
- winrid 5y agoC++ impl of what? It has like four different things.
- nivekkevin 5y agoSpark? You probably meant Spring, Spark is for Big data and such, usually ephemeral.
- kitd 5y agoThere is also a SparkJava web framework https://sparkjava.com/ https://sparkjava.com/ Tbh, I don't think it is comparable to this project. A better alternative for Java would be Quarkus or Micronaut, ones that can compile to native using GraalVM.
- winrid 5y agoThanks! I really do need to play with GraalVM.
- winrid 5y agoThe reason I did this comparison was to try to better understand what is in this project as I may consider using it, not to compare to Java performance wise.
- deleted 5y ago[deleted]
- mlang23 5y agoHmm, seeing Parallel computing, I wonder why the difference tosay, HPX, is.
- _huayra_ 5y agoWhat are the advantages of this engine over Boost Beast (and Asio)?
- Barenboim 5y agoNo template in user interfaces.
- jcelerier 5y agoHow is that an advantage ? either you have N overloads doing manually what templates do automatically, or you have indirection and the implied performance loss
- 10000truths 5y agoHave you ever compiled a project using ASIO? The template crap everywhere makes build times miserable.
- jcelerier 5y agoI use asio in all my network-using projects. It doesn't particularly bother me, the files that use asio take a few seconds to build ?
- 10000truths 5y agoThose few seconds can add up very quickly when you’re making incremental changes and have to keep recompiling. I ended up having to write non-template wrappers for all my ASIO stuff and compile them as a separate object file, in order to keep my workflow manageable. Building that one object file would double my total build time.
- jcelerier 5y agoI've actually done that all day long, at most it takes 3-4 seconds between code editing and the app / test running, I'd definitely not trade faster build times for something else in that case, especially when my IDE highlights errors when I type which greatly reduces the need for constant rebuilds.
- hun-nemethpeter 5y agoWhy do you use sometimes pthread primitives from <pthread.h> instead of standard <thread>, <mutex>, ... objects? For example src/manager/DNSCache.h use std::mutex but src/kernel/Executor.h use pthread_mutex_t?
- zhoushuguang 5y agolooks good to me
- crossentropy 5y agoLooks great! Try it today.
- kitd 5y agoAs a multifunctional asynchronous client, it currently supports HTTP, Redis, MySQL and Kafka protocols. That's an interesting selection. Do you have particular problem spaces in mind?
- Barenboim 5y agoYes. We have applications that use all this clients. This framework supports the backend development of a pretty big industrial search engine, and we tend to build very large backend applications. And as a very light-weighted library, it's also used as a simple asynchronous MySQL client, or a kafka client. And the most often, an http server or client.