Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 25-05-2004
santana santana is offline
No confirmado
 
Registrado: nov 2003
Posts: 1.030
Poder: 0
santana cantidad desconocida en este momento
Hola.

Recuerdo haber tratado este tema con Jachguate en privado hace tiempo.

Cita:
Empezado por delphi.com.ar
Particularmente prefiero Delphi por su código sencillo y agradable, sabiendo que tienen prácticamente la misma potencialidad.
Permíteme.......discrepar

Para muchas cosas prefiero C++, sobre todo por la sintaxis (justo lo que muchos rechazan), que aunque a simple vista parece más complicada luego cuando llevas 10 minutos programando es más de lo mismo, pero mucho más potente en lo que a sintaxis se refiere.

Código:
   // Equivalente de StrCmp en C
long  CompararCadenas(char *c1, char *c2) {
	if (!c1 || !c2) return c2 -  c1;
	while (*c1 && *c2 && *c1 == *c2) {
		 c1++;
		c2++;
	}
	return (*c1 || *c2)?(*c1 -  *c2):0;
}
 

Código:
 
 
  // Equivalente de StrCmp en  Delphi
function comparaCadenas(c1, c2: PChar): integer;
begin
  if (c1  = nil) or (c2 = nil) then
	result := Integer(c2) - Integer(c1)
  else  begin
	while (c1^ <> #0) and (c2^ <> #0) and (c1^ = c2^) do  begin
	  Inc(c1);
	  Inc(c2);
	end;
	if (c1^ <>  #0) or (c2^ <> #0) then
	  result := Integer(c1^) -  Integer(c2^)
	else
	  result := 0;
  end;
end;
A mi me gusta más la primera que además aun se puede optimizar más, lo que pasa es que si la optimizas más en cuanto a sintaxis, no obtienes mejor resultado, en el caso de esta función obtendrías el mismo código máquina pero peor legibilidad. Y comparando la de Delphi con la de C lo que sí te puedo decir es que el código maquina resultante no difiere mucho el uno del otro.

Una vez hice unas pruebas de velocidad con una rutina que repetía 10000 veces la búsqueda de un texto en una cadena de más de 1Mb. El primer algoritmo lo hice en C tardaba unos 19 Segs., el segundo en Delphi (tardaba casi 2 segs más), luego en ensamblador embebido en Delphi hice 2 o 3 versiones y todas le sacaban más de 4 segundos a la versión de C, pero una de ellas creo que le sacaba 9 o 10 Segs. Y yo con eso y poco más me lo paso bomba y soy feliz
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:51:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi