Autor |
Beitrag |
BenBE
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Mi 26.11.08 13:49
Dann optimiere ich meinen aber nochma Der ist derzeit noch recht straight-forward ...
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
jasocul
Beiträge: 6388
Erhaltene Danke: 146
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mi 26.11.08 13:59
Dann miss aber auch jetzt, damit du die Verbesserung siehst.
Der Eingangsbeitrag benötigt in meiner nicht optimierten Routine 15 ms. Geprüft mit GetTickCount.
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 26.11.08 14:10
Bei meiner Variante mit verketteten Delphi-Strings zwischen 0 und 15ms.
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
freedy
Beiträge: 403
Erhaltene Danke: 1
Winows 7
Delphi XE
|
Verfasst: Mi 26.11.08 14:12
|
|
alias5000
Beiträge: 2145
WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
|
Verfasst: Mi 26.11.08 14:17
ach mensch, es ist ja bald schon wieder Advent! Grad wo ich diesen Titel hier seh, wird man richtig dran erinnert
bis denne...
_________________ Programmers never die, they just GOSUB without RETURN
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 26.11.08 14:30
AADxDxAv, AgDfAv AgAaGa DdDfAvFx GaAfDdFfFd AvFdGdGaAfDdDxGfAvGaGaAvDxGd DdAaAdAvFd, DvFfAvFdFdAvFd GaDfAfDd DgAa GaAfDdFfFdFaAaDx AgAvFd FVGfAvDxDxGdAvGxGd AaFdGaAfDdAaGfAvFd.
GaDg-AdAvFxDxDfFd.AgAv/GaAvFxGgDfAfAv/AgAx/AAFdDvGfAvFdAgDfDaGfFdDa.VdDfFg (DvFfFgDfAvFxGd AgAvFd DXDfFdDv AvDfFdAxAaAfDd)
DVDxDfAfDvGd VdGfAvFxGaGd DfFa AADxFgDdAaAdAvGdAxAvFdGaGdAvFx AaGfAx DXAaAgAvFd GfFa AgAvFd AFFfAgAv VdGf DxAaAgAvFd, AgAaFdFd AxGfFdDvGdDfFfFdDfAvFxAvFd GGAvFx- GfFdAg AVFdGdGaAfDdDxGfAvGaGaAvDxGfFdDa. AGDfAv DDDfFdVdGfAxGfAvDaAvFd-DVFdFfAvFgAxAv GvAaFxAvFd VdGfFa FaAaFdGfAvDxDxAvFd DdDfFdVdGfAxGfAvDaAvFd AdAvDvAaFdFdGdAvFx GAAvFvGfAvFdVdAvFd FfAgAvFx AvDfFdVdAvDxFdAvFx ADGfAfDdGaGdAaAdAvFd.
VDGf FaAvDfFdAvFx GGFfFxDaAvDdAvFdGaGvAvDfGaAv: FADfGd AgAvFa FfAdAvFxAvFd DDDfFdVdGfAxGfAvDaAvFd DfFa DDAaGfFgGdAxAvFdGaGdAvFx DdAaAdAv DfAfDd AgDfAv GAAvFvGfAvFdVd AAAgGgAvFdGdGaDaAvGvDfFdFdGaFgDfAvDx DfFd AgDfAv DXDfGaGdAv AvDfFdDaAvAxGfAvDaGd, AgAaFdAaAfDd DfFaFaAvFx GfFdGdAvFd VdGvAvDf FdDfAfDdGd AvFdGdGaAfDdDxüGaGaAvDxGdAv ADGfAfDdGaGdAaAdAvFd FaAaFxDvDfAvFxGd, AVFdGdAvFx FfAgAvFx AgAvFd DVFdFfFgAx GfFdGdAvFd FxAvAfDdGdGa DaAvAgFxüAfDvGd GfFdAg AgAvFd DvFfFxFxAvDvGdAvFd ADGfAfDdGaGdAaAdAvFd AvDfFdDaAvDaAvAdAvFd. GAFfGvAvDfGd GvAaFx AgAaGa FdAaAfDd VVXD FADfFdGfGdAvFd AxAvFxGdDfDa, AgAaFdAaAfDd DaDfFdDa AvGa FdGfFx FdFfAfDd AgAaFxGfFa AgAaGa DaAaFdVdAv DfFd GvAvFdDfDaAvFx AaDxGa AgAvFd AaFdAxAaAvFdDaDxDfAfDdAvFd AfAa. VV - VX GAAvDvGfFdAgAvFd DdDfFdVdGfAdAvDvFfFaFaAvFd.
-----------------------
Mein Code braucht laut QueryPerformanceCounter 26ms inkl. Memoanzeige auf einem 3700+ Athlon64, auf meinem schnelleren PC habe ich es nicht gestestet, dort werden es sicherlich ein paar ms weniger mehr sein, aber letztlich zählt ja ohnehin nur der Vergleich auf dem selben PC.
// EDIT:
Entschlüsselte Version (1:1):
Alle, die das hier schon entschluesselt haben, koennen sich ja schonmal den Quelltext anschauen.
sj-berlin.de/service/df/Ankuendigung.zip (kopiert den Link einfach)
Klickt zuerst im Alphabetfenster auf Laden um den Code zu laden, dann funktionieren Ver- und Entschluesselung. Die Hinzufuegen-Knoepfe waren zum manuellen hinzufuegen bekannter Sequenzen oder einzelner Buchstaben.
Zu meiner Vorgehensweise: Mit dem oberen Hinzufuegen im Hauptfenster habe ich die Sequenz Adventsgewinnspiel in die Liste eingefuegt, danach immer unten zwei nicht entschlüsselte Buchstaben markiert, Enter oder den Knopf unten rechts gedrückt und den korrekten Buchstaben eingegeben. Soweit war das nach 25 Minuten fertig, danach ging es nur noch darum das ganze in weniger als den anfaenglichen ca. 2 - 3 Sekunden hinzubekommen.
Zuletzt bearbeitet von jaenicke am Mi 26.11.08 15:12, insgesamt 2-mal bearbeitet
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 26.11.08 14:50
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
Zuletzt bearbeitet von GTA-Place am Mi 26.11.08 15:01, insgesamt 1-mal bearbeitet
|
|
jasocul
Beiträge: 6388
Erhaltene Danke: 146
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mi 26.11.08 15:00
Ich habe nur die Umwandlung gemessen. Ein- und Ausgabe sind nicht dabei.
Habe jetzt eine optimierte Variante, die mir nahezu immer 0 zurück gibt.
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 26.11.08 15:03
Ohne Ein- und Ausgabe? Mein Souce kommt nicht unter 1,25ms - auch wenn ich Ein- und Ausgabe weglasse
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
Narses
Beiträge: 10182
Erhaltene Danke: 1255
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 26.11.08 15:04
Moin!
Dieses Jahr haben wir eine Polybios-Verschlüsselung verwendet, genaueres kann man hier nachlesen.
Viel Spaß noch beim Optimieren - dann ist die Zeit bis zum 01.12. nicht mehr so lang(weilig)...
cu
Narses
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
freedy
Beiträge: 403
Erhaltene Danke: 1
Winows 7
Delphi XE
|
Verfasst: Mi 26.11.08 15:07
Zuletzt bearbeitet von freedy am Mi 26.11.08 15:12, insgesamt 1-mal bearbeitet
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 26.11.08 15:08
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 26.11.08 15:09
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 26.11.08 15:10
|
|
jasocul
Beiträge: 6388
Erhaltene Danke: 146
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mi 26.11.08 15:10
Meins im Anhang, ohne Source.
Wer will kann dann ja vergleichen.
Einloggen, um Attachments anzusehen!
Zuletzt bearbeitet von jasocul am Mi 26.11.08 15:39, insgesamt 1-mal bearbeitet
|
|
GTA-Place
Beiträge: 5248
Erhaltene Danke: 2
WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
|
Verfasst: Mi 26.11.08 15:11
Eigentlich hab ich dich ja auch gar nicht gemeint, sondern den vor mir
EDIT: Den da ----^
EDIT2: Ihr bringt mich ganz durcheinander. Ich meinte doch den anderen...
_________________ "Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 26.11.08 15:16
|
|
freedy
Beiträge: 403
Erhaltene Danke: 1
Winows 7
Delphi XE
|
Verfasst: Mi 26.11.08 15:18
Hier mal mein Programm...
Einloggen, um Attachments anzusehen!
Zuletzt bearbeitet von freedy am Mi 26.11.08 15:50, insgesamt 2-mal bearbeitet
|
|
jaenicke
Beiträge: 19285
Erhaltene Danke: 1743
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mi 26.11.08 15:23
Wobei ich dazu noch sagen muss:
Ich habe nicht die Verschlüsselungsmethode eingebaut, obwohl mir die schon klar war, sondern ich habe eine reine Ersetzung nach Tabelle gemacht, was natürlich etwas langsamer ist, auch wenn ich versucht habe das Nachschlagen zu optimieren.
|
|
jasocul
Beiträge: 6388
Erhaltene Danke: 146
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mi 26.11.08 15:41
Habe oben mal eine Variante mit QueryPerformanceCounter angehängt.
Meine Routine arbeitet zur Zeit ganz traditionell mit String-Verarbeitung. Hat also noch einiges Optimierungspotential.
|
|