Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Konzeptioniere ein Profiler, welche folgende Bedingungen erfüllt. -es werden nur Gleitkommazahlen aufgezeichnet -es können mehrere Sensoren überwacht und jeweils mit einem Namen versehen werden -der Profiler muss nicht Thread-Safe sein -es können externe Bibliotheken verwendet werden, solange nicht der Profiler aus dieser verwendet wird Für jede Lösung muss der Sourcecode(vom Profiler) und ein Beispielcode(wie verwendet man den Profiler) für jede öffentlich zugreifbare Methode/Property eingereicht werden.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Ich verstehe die Aufgabenstellung so nicht ganz (und kann mir vorstellen, dass es anderen auch so geht). Ein Profiler ist für mich ein Tool, welches die Laufzeitdauer von Aufrufen oder generell Codeabschnitten misst. Was meinst du in diesem Zusammenhang mit Sensoren? Welcher Zusammenhang besteht zu Properties?
grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Profiler sind Tools, die etwas überwachen können und genug Informationen zurück geben, um Aussagen über das überwachte zu treffen. Ich merke schon beim schreiben, dass es zu schwammig ist.
Mir wird eine API zur Verfügung gestellt, mit der ich 0 bis mehrere Werte in einer Gruppe ablegen kann. Die logische Verknüpfung der Werte, in einer Gruppe, werden durch den Nutzer, der API bestimmt und nicht durch die API selber. Ob der Nutzer ein Wert mit einem 0.25ms Intervall in Verbindung bringt oder einfach nur jeden 8 Wert will ist nicht Aufgabe der API. Diese Gruppe ist ein Sensor und es können verschiedene Sensoren mit einem Profiler(vielleicht ist SensorCollector ein besseres Wort) verknüpft werden. Die API soll nicht Thread-Safe sein, da dieses die Anzahl der möglichen Resultate und die Komplexität der Challenge unnötig erhöht. Mit der API können nur Sensoren abgebildet werden, die als Gleitkommazahl darstellbar sind(deckt sehr sehr viel ab und vereinfacht die Aufgabe). Die einzelnen Sensoren sollen durch ein Namen unterscheidbar sein, dürfen aber auch mehrfach verwendet werden.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: So Sep 26, 2010 12:54 Beiträge: 238 Wohnort: wieder in Berlin
Programmiersprache: Englisch
das Sammeln von Performance Werten (Disk IO, CPU%, NetworkTraffic, Anzahl von JIT Aufrufen, Anzahl laufender Prozesse, ...) (zumindest auf der Windows Platform) funktioniert genauso, wie TAK es versucht zu beschreiben
Registriert: Mi Apr 13, 2011 22:05 Beiträge: 218
Programmiersprache: Lazarus/FPC
Wie wärs mit: Es wird eine kleine Story vorgegeben und jeder versucht sie so gut es geht in ein kleines Game zu packen. Zum Beispiel die Geschichte eines kleinen Roboters der 3 Einzelteile verloren hat und sie wieder finden muss. Das ist nicht ZU aufwendig und es gäbe dafür sicher einen haufen verschiedener und intressanter Lösungen....und mal ehrlich...wenns ums Spielen geht ist man doch gleich gern als Tester und Entwickler mit dabei =)
_________________ Ich teile manchmal heimlich durch Null. - Alber Einstein
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Die Idee mit dem Spiel ist zu komplex und zeitaufwändig aber der Automat ist eventuell einfach genug. So eine Design Challenge sollte eigentlich weniger als ein halben Tag in anspruch nehmen. Die Beteiligung geht Hand in Hand mit der benötigten Zeit.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Lese ein Textfile ein (den Dateinamen bekommst du als Stringparameter). Dieses Textfile enthält eine Reihe von Wörtern, jeweils durch einen Zeilenumbruch (Der Einfachheit halber "\n") getrennt. Es gibt aber auch Zeilen ohne ein einziges Wort. Jede Zeile kann also 0 bis 1 Wörter enthalten. Aufgabe: Zähle die Wörter, berücksichtige dabei aber nur Zeilen, in denen etwas drin steht und Zeilen, die nicht länger als 80 Zeichen lang sind. Die Datei kann groß werden, das Programm sollte mit einer 1GB Textdatei klarkommen. Errno prüfen in den Sprachen, wo man's braucht. Als Encoding ist UTF-8 anzunehmen.
Gebe danach die Zahl der passenden Wörter aus und die Zahl der Leerzeilen und Wörter, die zu lange waren. Ein zusätzlicher Zeilenumbruch am Ende der Datei soll nicht mitgezählt werden.
Hinweis: Unicode Codepoints beachten beim Zeichen zählen.
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Eine gute Idee aber man bräuchte noch eine 1GB große Datei, um das ganze zu testen. Unter c++ und c wird das ekelig, da in beiden Sprachen kein Unicode support gibt und die Compiler(gcc und vc++) unterschiedlich implementierte extensions dafür bereit stellen. Noch dazu sind die extentions nicht prüfbar und daher würde ein funktionierender Code ne menge Zeit in Anspruch nehmen, da man ne menge codepaths für die einzelnen OS und Compiler setzen müsste oder auf eine Bibliothek zurück greifen.
Ich erkenne allerdings nicht den fokus, da mehrere Bereiche in dem Vorschlag sind. Ist es da streamen von großen daten, unicode oder textverarbeitung ?
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Wegen C++: Hm ich wusste ja, dass C++ ziemlich eklig wird, wenn es um sowas geht, aber dass es gar so schlimm ist, hätte ich nicht gedacht. Wie sieht's denn mit ICU oder iconv aus?
Und ja, das ist ne Aufgabe, die mehrere Sachen abdeckt. Sonst wär's ja langweilig
Ich kann gern mal ne .jar bauen, die einem diese 1GB Datei erzeugt. Oder ich bau mal so eine Datei und zip das Ding, vllt. wird's ja klein...
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2622 Wohnort: Berlin
Programmiersprache: Go, C/C++
Wenn man sich auf die 2 meistgenutzten Compiler beschränkt, dann braucht man keine Lib. VSC++ und GCC haben unicode, 2. Sogar out of the Box und 1. Muss man nur in den Setting gucken, dass es korrekt eingestellt ist. ICU ist so groß, dass es Codemässig mit QT konkurrieren könnte und genauso komplex. Iconv ist eigentlich der Übliche verdächtige, das nutzt auch Blizzard und andere Gamestudios.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Ihr könntet euch mal auf eine Version einigen damit ich die reinstellen kann .
grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.