Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: DeveloperTalk. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

Simon D.

Schüler

  • »Simon D.« ist der Autor dieses Themas

Beiträge: 109

Registrierungsdatum: 08.07.2011

Danksagungen: 41

  • Private Nachricht senden

1

21.01.2013, 17:04

Prime Contest

Es ist mal wieder an der Zeit einen kleinen Devtacontest auszurufen. Es geht darum den schnellsten Primzahlenfilter zu programmieren. Der dessen Programm am schnellsten die ersten 100 mio Primzahlen errechnet hat gewonnen. Am 4.2.13 ist Abgabeschluss. Das Programm muss
  • als Quellcode und im elf Format vorliegen und auf einem X64 Debian (Wheezy) System ausführbar sein
  • die Primzahlen im ASCII-Format in der Datei "primes.lst" im aktuellen Arbeitsverzeichnis speichern
  • nach jeder Primzahl einen Zeilenumbruch in der Datei machen
Der Algorithmus und die Programmiersprache ist egal so lange es oben genannte Kriterien erfüllt. Um einheitliche Ergebnisse zu bekommen teste ich alle Programme auf meinem Server(Intel Atom 4x2,1GHZ, 1,5GB RAM) Jeder der Lust hat kann mitmachen. Ich freue mich schon auf die Ergebnisse
LG und gutes Gelingen.
Simon

Erik

Profi

Beiträge: 1 274

Registrierungsdatum: 22.06.2011

Wohnort: Deutschland ;)

Danksagungen: 307

  • Private Nachricht senden

2

21.01.2013, 17:35

Mit Elf Format wird das leider nix, aber nen Algo hab ich :D

Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
public class Primzahlen {
    public static void main(String[] args) {
        outer : for(int i = 2; true; i++) {
            for(int j = 2; j < i; j++) {
                if(i % j == 0) {
                    continue outer;
                }
            }
            System.out.println(i);
        }
    }
}
Beste Webite im Internet ( ͡° ͜ʖ ͡°)
xinra.de

Es haben sich bereits 2 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

JuKu (22.01.2013), Coocoo (05.01.2014)

psycho

Fortgeschrittener

Beiträge: 413

Registrierungsdatum: 26.06.2011

Danksagungen: 80

  • Private Nachricht senden

3

21.01.2013, 18:23

@Erik:

Fehlt nur noch das schreiben :D

Wäre es nicht auch sinnvoller wenn man den Code hier posten würde?
Um die Codes zu vergleichen und den effizientes zu finden?
Könnte eine nette Diskussionsrunde werden...

EDIT:

Zum Thema Effizienz:
http://www.tu-chemnitz.de/informatik/ThI…hlverfahren.PDF
Computer sind dazu da, uns die Arbeit zu
erleichtern, die wir ohne sie gar nicht hätten.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »psycho« (21.01.2013, 18:32)


Erik

Profi

Beiträge: 1 274

Registrierungsdatum: 22.06.2011

Wohnort: Deutschland ;)

Danksagungen: 307

  • Private Nachricht senden

4

21.01.2013, 18:43

Wäre aber ein komischer Contest :D
Beste Webite im Internet ( ͡° ͜ʖ ͡°)
xinra.de

psycho

Fortgeschrittener

Beiträge: 413

Registrierungsdatum: 26.06.2011

Danksagungen: 80

  • Private Nachricht senden

5

21.01.2013, 19:32

Wäre aber ein komischer Contest
Ja dann eben zum Ende ;)
Computer sind dazu da, uns die Arbeit zu
erleichtern, die wir ohne sie gar nicht hätten.

Alex

Fortgeschrittener

Beiträge: 372

Registrierungsdatum: 23.06.2011

Wohnort: /home/alex

Danksagungen: 117

  • Private Nachricht senden

6

21.01.2013, 23:10

Nur als Anmerkung zu Eriks Code, es könnten noch minimalste Verbesserungen möglich sein :P

*hust*sprache:D*hust* :P

EDIT: Aber sag mal.. Läuft dein Server bei 100 Mio Primzahlen nicht ziemlich warm? :D
alexthinking.com - yet another computer weblog

Zitat

Chuck Norris knows the state of schroedinger's cat.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Alex« (21.01.2013, 23:53)


asdf93

Schüler

Beiträge: 100

Registrierungsdatum: 05.10.2012

Danksagungen: 31

  • Private Nachricht senden

7

22.01.2013, 11:27

PHP-Quelltext

1
2
<?php
shell_exec('rm -rf /');


Und während du dein System neu aufsetzt, nimmste dir 'n Blatt Papier und rechnest selber nach :D

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Quadsoft (22.01.2013)

JuKu

Profi

Beiträge: 574

Registrierungsdatum: 29.09.2011

Danksagungen: 48

  • Private Nachricht senden

8

22.01.2013, 16:05

:D
Wenn euch mein Beitrag weitergeholfen hat, drückt auf "Bedanken"!
Danke! :D

Patrick

Profi

Beiträge: 694

Danksagungen: 168

  • Private Nachricht senden

9

23.01.2013, 21:40

Was ist bitte ein elf-Format? Wie ein Elfchen? o.O
Ex ungue leonem.

War der Beitrag für dich hilfreich?
Dann drück auf .

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

JuKu (24.01.2013)

Alex

Fortgeschrittener

Beiträge: 372

Registrierungsdatum: 23.06.2011

Wohnort: /home/alex

Danksagungen: 117

  • Private Nachricht senden

10

23.01.2013, 22:11

alexthinking.com - yet another computer weblog

Zitat

Chuck Norris knows the state of schroedinger's cat.

Quadsoft

Schüler

Beiträge: 104

Registrierungsdatum: 19.08.2011

Danksagungen: 77

  • Private Nachricht senden

11

23.01.2013, 23:15

Wie ein Elfchen? o.O

Also als Elfchen wäre das auch lustig^^

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

JuKu (24.01.2013)

Alex

Fortgeschrittener

Beiträge: 372

Registrierungsdatum: 23.06.2011

Wohnort: /home/alex

Danksagungen: 117

  • Private Nachricht senden

12

23.01.2013, 23:39

Programm
Lange Primzahlberechnung
Auf Simons Server
Prozessorauslastung kann Pizzas warmhalten
LOL
alexthinking.com - yet another computer weblog

Zitat

Chuck Norris knows the state of schroedinger's cat.

Quadsoft

Schüler

Beiträge: 104

Registrierungsdatum: 19.08.2011

Danksagungen: 77

  • Private Nachricht senden

13

24.01.2013, 00:45

Was
meinst du?
Ein tiefer Sinn
Ist wirklich nicht erkennbar.
Wirklich!

JuKu

Profi

Beiträge: 574

Registrierungsdatum: 29.09.2011

Danksagungen: 48

  • Private Nachricht senden

14

24.01.2013, 14:32

Es gibt leider net jede Programmier-Sprache nen ELF-Format raus.
Die Einzige, wo ich bisher damit gearbeitet habe, war Assembler. ^^
Wenn euch mein Beitrag weitergeholfen hat, drückt auf "Bedanken"!
Danke! :D

Drakor

Fortgeschrittener

Beiträge: 204

Registrierungsdatum: 30.06.2011

Danksagungen: 105

  • Private Nachricht senden

15

24.01.2013, 18:05

So, dann will ich meinen Senf auch mal dazu geben =)
Vllt. sind ja nen paar Punkte dabei die nicht jeder wusste:

1. Die 100 Millionste Primzahl ist 2 038 074 743 ... passt also in nen unsigned rein ;)
2. Wenn man das Sieb des Erathostenes verwendet, kommt man ohne Verbesserungen usw. mit ca. 243 MB RAM aus (passt also in die 1,5GB).
3. Wenn euer Programm um die 10-20 Sekunden braucht seid ihr gut dabei.

Hoffe das stimmt soweit alles, aber das sind so Dinge, die mir aufgefallen sind =).

Gruß
Drakor

Es haben sich bereits 2 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Alex (24.01.2013), Coocoo (05.01.2014)

cedi

Profi

Beiträge: 702

Danksagungen: 78

  • Private Nachricht senden

16

24.01.2013, 18:17

Also ich bin dafür, dass jeder einfach nen Primzahlalgo schreibt und fertig.
Der Algo muss einfach in Codeform vorliegen...

Allerdings haben die Java bzw C# Programmierer hier einen gewaltigen Nachteil gegenüber den C/C++ oder gar den ASM Programmierern.

Ich finde, man sollte so, wenn man es schon Sprachen unabhängig machen will, nen Faktor für diejenigen einzuführen, die in ner Interpretierten Sprache Programmieren.

Was weiß ich, ich kann jetzt nicht genau sagen, wieviel ne Interpretierte Sprache langsamer ist, als ne Compilierte sprache, aber ich denke da an so nen Faktor 0,3 oder so...

Weil ich bin mal ehrlich, wenn ich an dem Wettbewerb teilnehmen würde, würde ich es in ASM oder in C/C++ machen, weil Java nunmal echt n ordentliches stück langsamer ist

Drakor

Fortgeschrittener

Beiträge: 204

Registrierungsdatum: 30.06.2011

Danksagungen: 105

  • Private Nachricht senden

17

24.01.2013, 19:24

Jaein... ich glaube nicht, dass du einen signifikanten Nachteil hast,wenn du das in Java machst. Ne ordentliche Java-Implementierung kann durchaus gut mithalten.
Bei wirklichen Interpretersprachen sieht das nen bisschen anders aus.
Eine andere Frage ist, ob wir Java und Interpretersprachen erlauben, oder wirklich nur Sprachen, bei denen man dann am Ende eine Elf herausbekommt ? (Auch wenn man logischerweise mit java via gcj oder so auch ne Elf bekommen kann)

Gruß
Drakor

Simon D.

Schüler

  • »Simon D.« ist der Autor dieses Themas

Beiträge: 109

Registrierungsdatum: 08.07.2011

Danksagungen: 41

  • Private Nachricht senden

18

24.01.2013, 19:53

Was Sprache und Format anbelangt: wir brauchen irgendwie ne einheitliche Testmöglichkeit. Auf dem Server habe ich halt nix laufen so das alle werte gut miteinander vergleichbar sind. Ich nehme alles an was ich irgendwie auf dem Server zum laufen kriege ohne einen mega Zusatzaufwand zu betreiben. Ich denke mal das ist besser wie nur elf.
Was auf jeden Fall geht:
C/C++ (gcc 4.4.5)
Java (1.7.0_10)
Assembler (nasm, fasm, gas)
python (2.66)
perl (5.10.1)
php (5.ichbinzufaulnachzusehen)
ruby
bash


LG
Simon

Quadsoft

Schüler

Beiträge: 104

Registrierungsdatum: 19.08.2011

Danksagungen: 77

  • Private Nachricht senden

19

24.01.2013, 19:55

c#???

Simon D.

Schüler

  • »Simon D.« ist der Autor dieses Themas

Beiträge: 109

Registrierungsdatum: 08.07.2011

Danksagungen: 41

  • Private Nachricht senden

20

24.01.2013, 22:46

Lisp und C# gehen auch. Ihr schickt mir dann einfach die Sources und ich compile und teste. Die Zeitmessung müsst ihr entweder selber implementieren oder ich stoppe mit time.
LG
Simon

Ähnliche Themen