Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Arno Welzel Newsgroups: de.comp.security.misc Subject: Re: OT: Java vs. C++ (was: Re: Vertraegliche Sonderzeichen) Date: Sat, 2 Jan 2021 05:00:49 +0100 Lines: 47 Message-ID: References: <5fd6b53d$0$32756$7b62cf90@news1.net.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net M3Ok2Z+eQSRZgJne4EKvcwudcAafI20E9ZyqcXdWbl9tJkSbf0 Cancel-Lock: sha1:cz3SixiPCNIbqAqyIXMEPToDLSg= In-Reply-To: Xref: csiph.com de.comp.security.misc:33232 Thomas Noll: > Am Thu, 31 Dec 2020 03:27:05 +0100 schrieb Bonita Montero: > >> Am 30.12.2020 um 22:14 schrieb Arno Welzel: >>>>> Sicher. Dennoch ist sind 15% oder 73% zwar durchaus relevant, aber nicht >>>>> so extrem, dass man von dutzendfacher oder gar hundertfacher Performance >>>>> sprechen kann. ... >> >>>> Ich habe eine 64-Kern-CPU mit 128 Threads, da wird std::sort auf >>>> alle Threads ausgerollt (std::sort erkennt sogar unter Windows >>>> meine Prozessor-Gruppen und kann sich breiter ausrollen als der >>>> Scheduler eigentlich kann) und ist entsprechend schneller. Die >>>> 73% kommen nochmal obendrauf, dass die Performance bei meinem >>>> Beispiel parallelisiert ca. 226 mal schneller ist. >> >>> Wie gesagt: single threaded vs. multi threaded ist kein sinnvoller >>> Vergleich, wenn es nur die absoluten Unterschiede wegen der Sprache >>> ans ich geht. >> >> Würd ich nicht sagen, denn der Java-Entwickler nimmt die Sprachmittel >> die er zur Verfügung hat und der C++-Entwickler ebenso. Dass jemand >> sein Quicksort selbst implementiert, das gar parallel, ist sicher >> nicht die Regel. > > Allerdings wissen viele Entwickler nicht, welche Sprachmittel ihnen zur > Verfügung stehen. Hier mal eine Java Variante deines Beispiels, die die > Bordmittel etwas besser ausnutzt: > > // snip to > > import java.util.Arrays; > import java.util.concurrent.ThreadLocalRandom; [...] > Wie lange läuft das auf deinem Rechner? Mit 10 Mio. Einträgen läuft das hier gar nicht. Mit 8 Mio. geht es noch, aber ohne erkennbare Vorteile bei der ersten Sortier-Runde: generating table: 3.236000s sorting table: 10.063000s sorting table 2: 0.773000s -- Arno Welzel https://arnowelzel.de