Find Jobs
Hire Freelancers

Improve speed of non visual string storage component

$30-250 USD

Teljesítve
Kiadva ekkor: körülbelül 2 évvel ezelőtt

$30-250 USD

Teljesítéskor fizetve
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.
Projektazonosító: 33465683

A projektről

5 ajánlat
Távolról teljesíthető projekt
Aktiválva: 2 évvel ezelőtt

Szeretne pénzt keresni?

A Freelancer oldalán történő árajánlatadás előnyei

Határozzon meg költségvetést és időkeretet
Kapja meg fizetését a munkáért
Vázolja ajánlatát
Ingyen regisztrálhat és adhat árajánlatot munkákra
Neki odaítélve:
Felhasználó avatár
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 1 napon belül
0,0 (0 értékelés)
0,0
0,0
5 szabadúszó adott átlagosan $118 USD összegű árajánlatot erre a munkára
Felhasználó avatár
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 7 napon belül
5,0 (4 értékelés)
4,1
4,1
Felhasználó avatár
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 7 napon belül
4,9 (2 értékelés)
3,4
3,4
Felhasználó avatár
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 7 napon belül
5,0 (2 értékelés)
3,3
3,3

Az ügyfélről

PORTUGAL zászlója
Braga, Portugal
5,0
681
Fizetési mód hitelesítve
Tagság kezdete: márc. 16, 2011

Ügyfél-hitelesítés

Köszönjük! E-mailben elküldtük a linket, melyen átveheti ajándék egyenlegét.
E-mailje elküldése során valami hiba történt. Kérjük, próbálja újra.
Regisztrált Felhasználók Összes Közzétett Munka
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Előnézet betöltése
Hozzáférést adott a helymeghatározáshoz.
Belépési munkamenete lejárt, és kijelentkeztettük. Kérjük, lépjen be újra.