Schrift
[thread]6636[/thread]

HEX Zahlen für HTML-Farbcodes ausgeben (Seite 2)



<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten
format_c
 2005-01-21 09:04
#50849 #50849
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
@Crian: Siehe Ursprungsbeitrag.

Dein Ansatz würde auf die bisherigen nur aufsetzten uns somit kanns nicht schneller sein.

Was mich aber noch interessieren würde wäre noch die Variante:
Code: (dl )
print sprintf "%02X%02X%02X",255,0,100;

gegenüber der printf Variante. Würde mich mal Interessieren obs da nen Unterschied gibt.
Werde das heute Nacht nochmal testen.

Gruß Alex
esskar
 2005-01-21 09:16
#50850 #50850
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use strict;
use Benchmark;

sub use_pack {print STDERR unpack "H6",pack "C3",255,0,100;}
sub use_printf {printf STDERR "%02X%02X%02X",255,0,100;}
sub use_sprintf {print STDERR sprintf "%02X%02X%02X",255,0,100;}


timethese(10_000_000,{
'Mit pack & unpack: ' => \&use_pack,
'Mit printf: ' => \&use_printf,
'Mit sprintf: ' => \&use_sprintf
}
);


Benchmark: timing 10000000 iterations of Mit pack & unpack: , Mit printf: , Mit sprintf: ...
Mit pack & unpack: : 53 wallclock secs (42.92 usr + 5.33 sys = 48.25 CPU) @ 207253.89/s (n=10000000)
Mit printf: : 62 wallclock secs (51.34 usr + 6.33 sys = 57.67 CPU) @ 173394.37/s (n=10000000)
Mit sprintf: : 18 wallclock secs (12.47 usr + 4.58 sys = 17.05 CPU) @ 586613.48/s (n=10000000)
format_c
 2005-01-21 11:43
#50851 #50851
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Das ist ja interessant, hatte aber schon den Verdacht, dass print sprintf besser optimiert ist als printf. z.B. weil sprintf schon viel besser/aktueller dokumentiert ist. Hätte aber nicht erwartet, dass es schneller als unpack / pack

Gruß Alex
Crian
 2005-01-21 15:25
#50852 #50852
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Das hätte ich jetzt aber auch ncht gedacht.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
esskar
 2005-01-21 15:41
#50853 #50853
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
da fragt man sich wieso printf nicht direkt auf print sprintf gemapped wird... es lohnt sich ja nicht das die ganze parserei doppelt zu machen
format_c
 2005-01-21 16:09
#50854 #50854
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
@esskar: Was ist denn auch deiner Maschine drauf? OS,CPU?
Deine Ergebnisse sind ja haushoch schneller als meine

Gruß Alex
esskar
 2005-01-21 17:23
#50855 #50855
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
das ist ein AMD XP+ 1700 mit winxp sp2 und AS perl 5.8.4
esskar
 2005-01-21 17:25
#50856 #50856
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ich hab denn output von STDERR aber auch nach nul geleitet; du auch? oder hast du es ausgeben lassen; ausgabe kostet zeit!
format_c
 2005-01-21 17:29
#50857 #50857
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
In dem Test (Windows) hatte ich kein /dev/null. Das wirds sein. Hatte die Umleitung in deinem Code nicht gesehen. Auf Linux hatte ich die auch umgeleitet. Aber da hab ich die Ergebnisse nicht mehr.

Gruß Alex
format_c
 2005-01-21 17:30
#50858 #50858
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Ach nul.
Wie hast du das gemacht?
<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten



View all threads created 2005-01-19 10:15.