Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 3 de 3
Ir a la página Anterior  1, 2, 3
 
Cuantas Veces Se Repite Una Cadena En Otra.
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Cuantas Veces Se Repite Una Cadena En Otra. 
 
tercoIDE escribió: [Ver mensaje]
vuott escribió: [Ver mensaje]
tincho escribió: [Ver mensaje]
supongo que C siempre es mas eficiente que gambas.

...más rapido.  

mucho mas, C es 10 veces mas rapido que gambas + Fast y 1000 veces que gambas solo

¿Que es  gambas + Fast?
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuantas Veces Se Repite Una Cadena En Otra. 
 
http://gambaswiki.org/wiki/doc/jit

traduce codigo gambas a C en runtime y lo corre de esa manera
 




===================
"Los IF son mas rápidos" - autor anónimo
 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuantas Veces Se Repite Una Cadena En Otra. 
 
tercoIDE escribió: [Ver mensaje]
http://gambaswiki.org/wiki/doc/jit
traduce codigo gambas a C en runtime y lo corre de esa manera

Ok, gracias.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuantas Veces Se Repite Una Cadena En Otra. 
 
...y no quiero hablar de la velocidad de Assembly !  
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuantas Veces Se Repite Una Cadena En Otra. 
 
vuott escribió: [Ver mensaje]

Por ejemplo, creando una función externa:  

Library "/tmp/lib_Occorrenze"

' int Occorrenze(const char *stringa, const char *substr)
' Ritorna il numero di occorrenze di una sottostringa all'interno di una stringa.
Private Extern Occorrenze(stringa As String, substr As String) As Integer


Public Sub Main()

Dim s, su As String
Dim i As Integer

' Va a generare l'apposita libreria dinamica condivisa esterna:
 CreaSo()

' La stringa è la seguente:
 s = "mela pera arancia limone pera banana noce mela fico pera noce"
 
' La sottostringa di cui conoscere il numero di occorrenze:
 su = "pera"
 
 i = Occorrenze(s, su)
 
 Print "Numero occorrenze della sottostringa '"; su; "': "; i
 
End


Private Procedure CreaSo()
 
' Imposta il sorgente della libreria dinamica condivisa esterna:
 File.Save("/tmp/lib_Occorrenze.c", "#include <string>" &
           "\n\n" &
           "int Occorrenze(const char *stringa, const char *substr) {" &
           "\n\n" &
           "   int i = 0;" &
           "\n\n" &
           "   do {\n" &
           "      stringa = strstr (stringa, substr);\n" &
           "      if (stringa) {;\n" &
           "         ++stringa;\n" &
           "         ++i;\n" &
           "      }else{\n         break;\n      }" &
           "\n   }\n" &
           "   while (stringa);" &
           "\n\n" &
           "   return i;\n\n}")
          
 
' Genera la libreria dinamica condivisa esterna:
 Shell "gcc -o /tmp/lib_Occorrenze.so /tmp/lib_Occorrenze.c -shared -fPIC" Wait
 
End


Esto que hizo el topo, es EXACTAMENTE como funciona OpenGL hoy en dia:

La CPU le envia codigo C en forma de String a la GPU para que se ocupe de los graficos con su poder de procesamiento, liberando a la cpu para otras tareas. Estoy estudiando el tema para aplicarlo al CAD
 




===================
"Los IF son mas rápidos" - autor anónimo
 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuantas Veces Se Repite Una Cadena En Otra. 
 
TercoIde:


Citar:
Estoy estudiando el tema para aplicarlo al CAD


Ohhh.... super interesante....   
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuantas Veces Se Repite Una Cadena En Otra. 
 
Aquí hay una versión simple.
Public Sub Form_Open()

  Print StringCount("Hello World Hello World Hello World Hello World", "WORLD")

End

Public Sub StringCount(sString As String, sToFind As String) As Integer

  Dim iPos, iCount As Integer

  Do
    iPos = InStr(sString, sToFind, iPos, gb.IgnoreCase)
    If iPos Then iPos += Len(sToFind) Else Return iCount
    Inc iCount
  Loop

End
 

 



 
cogier - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cuantas Veces Se Repite Una Cadena En Otra. 
 
cogier escribió: [Ver mensaje]
Aquí hay una versión simple.


Yo, sin embargo, introduciría estas modificaciones:
Public Sub Main()
  
  Print StringCount("Hello World Hello World Hello World Hello World", "WORLD")
  
  End

Public Sub StringCount(sString As String, sToFind As String) As Integer

  Dim iPos, iCount As Integer

  Repeat
    iPos = InStr(sString, sToFind, iPos, gb.IgnoreCase)
    If iPos Then
      Inc iPos
      Inc iCount
    Endif
  Until iPos == 0
  
  Return iCount
  
End

 



 
última edición por vuott el Lunes, 11 May 2020, 16:03; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Busco Función Para Saber El Número De Ve... sc0w General 1 Lunes, 08 Marzo 2010, 07:50 Ver último mensaje
alexprox
No hay nuevos mensajes Cuantas Camaras Web Puedo Tener Instalada ... jsbsan Aplicaciones/Fragmentos de Código 6 Jueves, 14 Octobre 2010, 02:10 Ver último mensaje
codificador
No hay nuevos mensajes ¿ Una Cadena Vacía Es Una Subcadena De C... Shell General 2 Jueves, 07 Agosto 2014, 14:01 Ver último mensaje
Shell
No hay nuevos mensajes Funcion Que Liste Todas Las Veces Que Una ... tincho Aplicaciones/Fragmentos de Código 7 Miercoles, 14 Noviembre 2018, 15:10 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 3 de 3
Ir a la página Anterior  1, 2, 3

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron