Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #17186
| From | Melzzzzz <mel@zzzzz.com> |
|---|---|
| Newsgroups | comp.lang.c++, comp.programming.threads |
| Subject | Re: Why is java consumer/producer so much faster than C++ |
| Date | 2012-07-23 01:28 +0200 |
| Organization | albasani.net |
| Message-ID | <jui2a3$a3a$2@news.albasani.net> (permalink) |
| References | <juht3o$a3a$1@news.albasani.net> <ba6e5833-f9a2-428e-815b-aad0ebdf3c55@s6g2000pbi.googlegroups.com> |
Cross-posted to 2 groups.
On Sun, 22 Jul 2012 15:42:55 -0700 (PDT) Joshua Maurice <joshuamaurice@gmail.com> wrote: > > > What g++ optimization options did you use? If you didn't compile with > proper optimization flags (e.g. at least -O2), then the numbers you > have are meaningless. I have used -O2. > > Also, you might be testing the difference between std::rand() and > Java's Random. Possibly. > > Also, why did you use dynamic allocation in the C++ code for an int? Actually with non dynamical allocation seems to be slower ;) > If your original goal was to compare the Java way to the C++ way, you > are not doing it right. This is especially troubling after you > apparently went through the effort to make the queue support move-only > types. (Not sure. I'm still new to move-semantics.) That was necessary in order to put unique_ptr in queue. > > Also, > > std::unique_ptr<int> arr[size]; > ... > > arr[std::rand()%size] = produced.take(); > I wonder if it's possible to optimize that into a simple assignment, > or whether there will be a call to delete() - or at least a branch to > test if the internal member pointer is null. I have removed that statement , removed called to rand, left only take, made int's non dynamic and I got following time: bmaxa@maxa:~/examples$ g++ -Wall -O2 -pthread -std=c++0x consprod1.cpp -o consprod1 consprod1.cpp: In lambda function: consprod1.cpp:58:19: warning: unused variable ‘size’ [-Wunused-variable] bmaxa@maxa:~/examples$ time ./consprod1 real 0m23.335s user 0m22.177s sys 0m16.417s with java, I have removed rand too... bmaxa@maxa:~/examples$ javac consprod.java bmaxa@maxa:~/examples$ time java consprod real 0m12.491s user 0m21.001s sys 0m0.524s Still twice as fast as c++. What it looks like, is that c++ spends much more time in syscalls (futex) than java and that explains big difference.
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar
Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-22 23:59 +0200
Re: Why is java consumer/producer so much faster than C++ Joshua Maurice <joshuamaurice@gmail.com> - 2012-07-22 15:42 -0700
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-23 01:28 +0200
Re: Why is java consumer/producer so much faster than C++ Luca Risolia <luca.risolia@studio.unibo.it> - 2012-07-23 02:03 +0200
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-23 12:17 +0200
Re: Why is java consumer/producer so much faster than C++ Luca Risolia <luca.risolia@studio.unibo.it> - 2012-07-24 00:33 +0200
Re: Why is java consumer/producer so much faster than C++ Bo Persson <bop@gmb.dk> - 2012-07-24 19:50 +0200
Re: Why is java consumer/producer so much faster than C++ Juha Nieminen <nospam@thanks.invalid> - 2012-07-23 06:37 +0000
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-23 12:33 +0200
Re: Why is java consumer/producer so much faster than C++ Juha Nieminen <nospam@thanks.invalid> - 2012-07-23 11:46 +0000
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-23 15:33 +0200
Re: Why is java consumer/producer so much faster than C++ Zoltan Juhasz <zoltan.juhasz@gmail.com> - 2012-07-23 06:57 -0700
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-23 18:42 +0200
Re: Why is java consumer/producer so much faster than C++ Howard Hinnant <howard.hinnant@gmail.com> - 2012-07-23 13:23 -0700
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-24 00:32 +0200
Re: Why is java consumer/producer so much faster than C++ Howard Hinnant <howard.hinnant@gmail.com> - 2012-07-23 18:11 -0700
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-24 11:21 +0200
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-24 21:45 +0200
Re: Why is java consumer/producer so much faster than C++ Luca Risolia <luca.risolia@studio.unibo.it> - 2012-07-24 23:24 +0200
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-25 00:48 +0200
Re: Why is java consumer/producer so much faster than C++ Luca Risolia <luca.risolia@studio.unibo.it> - 2012-07-25 01:21 +0200
Re: Why is java consumer/producer so much faster than C++ Howard Hinnant <howard.hinnant@gmail.com> - 2012-07-24 17:35 -0700
Re: Why is java consumer/producer so much faster than C++ Luca Risolia <luca.risolia@studio.unibo.it> - 2012-07-26 21:19 +0200
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-26 21:56 +0200
Re: Why is java consumer/producer so much faster than C++ Luca Risolia <luca.risolia@studio.unibo.it> - 2012-07-26 22:15 +0200
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-26 23:01 +0200
Re: Why is java consumer/producer so much faster than C++ Luca Risolia <luca.risolia@studio.unibo.it> - 2012-07-26 23:12 +0200
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-27 00:24 +0200
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-27 00:48 +0200
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-27 05:43 +0200
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-27 07:43 +0200
Re: Why is java consumer/producer so much faster than C++ Marc <marc.glisse@gmail.com> - 2012-07-26 21:10 +0000
Re: Why is java consumer/producer so much faster than C++ Donkey Hottie <donkey@fredriksson.dy.fi> - 2012-07-27 01:05 +0300
Re: Why is java consumer/producer so much faster than C++ Paavo Helde <myfirstname@osa.pri.ee> - 2012-07-26 17:12 -0500
Re: Why is java consumer/producer so much faster than C++ yatremblay@bel1lin202.(none) (Yannick Tremblay) - 2012-07-24 12:51 +0000
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-24 17:47 +0200
Re: Why is java consumer/producer so much faster than C++ yatremblay@bel1lin202.(none) (Yannick Tremblay) - 2012-07-25 08:09 +0000
Re: Why is java consumer/producer so much faster than C++ Howard Hinnant <howard.hinnant@gmail.com> - 2012-07-25 08:46 -0700
Re: Why is java consumer/producer so much faster than C++ Dombo <dombo@disposable.invalid> - 2012-07-23 22:57 +0200
Re: Why is java consumer/producer so much faster than C++ Joshua Maurice <joshuamaurice@gmail.com> - 2012-07-23 21:54 -0700
Re: Why is java consumer/producer so much faster than C++ Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-07-24 12:50 +0000
Re: Why is java consumer/producer so much faster than C++ James Kanze <james.kanze@gmail.com> - 2012-07-29 03:27 -0700
Re: Why is java consumer/producer so much faster than C++ Melzzzzz <mel@zzzzz.com> - 2012-07-29 14:40 +0200
Re: Why is java consumer/producer so much faster than C++ Ricardo Nabinger Sanchez <rnsanchez@wait4.org> - 2012-08-14 22:48 +0000
csiph-web