Find Jobs
Hire Freelancers

Improve speed of non visual string storage component

$30-250 USD

Terminado
Publicado hace alrededor de 2 años

$30-250 USD

Pagado a la entrega
Attached is sample project with a reference implementation of TFixedStringStorageRef. It is a non visual component used to store a rather large set of strings (about 150 KB of data), optimized for searching. The searching is case insensitive, full match (i.e. no partial matching) search. The data set is fixed, that is, the component does not need to support removing data from the structure. Basically, it implements a faster version of: Data := [login to view URL]; [login to view URL](some_data); [login to view URL](); If [login to view URL]('something') > -1 then ... Your job is to implement with Delphi 11 or compatible, TFixedStringStorage as a faster implementation of TFixedStringStorageRef in a way it does not use more than 50% more RAM than the current implementation. The current implementation is done using TDictionary<String,Boolean> where the Boolean data is not even used. The faster implementation should either be a binary search tree of some kind, or some kind of hashed list where you can take advantage of serializing the data from disk (i.e. save the hash values to disk during serialization instead of calculating them all each time). The code must not rely on any third party code and must be 100% pure Delphi/Pascal code.
ID del proyecto: 33465683

Información sobre el proyecto

5 propuestas
Proyecto remoto
Activo hace 2 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
Adjudicado a:
Avatar del usuario
I've done an implementation that is 15% faster (at least) and it uses less memory (measured with FastMM4). It's 100% pascal BUT it relies on an Open Source library. An averege of executing your test (clicking start button) 500 times gives following results on a Intel Core i7-4790 CPU @ 3.60GHz Win64 build: 37% better performance (average) with 42% less memory usage Win32 build: 33% better performance (average) with 36% less memory usage Regards,
$110 USD en 1 día
0,0 (0 comentarios)
0,0
0,0
5 freelancers están ofertando un promedio de $118 USD por este trabajo
Avatar del usuario
I am very interested in your little project. Delphi is a bit slow with with string handling and searches, so it is an interesting project! Otherwise I could start on your project this Friday! Kind regards Niels Maschmeyer
$200 USD en 7 días
5,0 (4 comentarios)
4,1
4,1
Avatar del usuario
Hello, I've been a delphi programmer for over 9 years, I don't have a solution ready to hand to you, but if you want we can discuss some implementation possibilities (I have some cards up my sleeve), and I would charge for my time spent, it may or may not work out but you authorize the implementation before starting. If you want, we can work on something under these conditions.
$30 USD en 7 días
4,9 (2 comentarios)
3,4
3,4
Avatar del usuario
Get in touch Delphi expert I am not going to bid BUTTTTTTTTT Both on my computer !!!!!!!!!!!!!!!!!!!! your exe Reference solution time: 5132 msec New solution time: 5476 msec MY COMPILATION same software nothing changed !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! my exe Reference solution time: 578 msec New solution time: 546 msec
$30 USD en 7 días
5,0 (2 comentarios)
3,3
3,3

Sobre este cliente

Bandera de PORTUGAL
Braga, Portugal
5,0
681
Forma de pago verificada
Miembro desde mar 16, 2011

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.