Recent

Author Topic: Offical launch of the 1 Billion Row Challenge in Object Pascal  (Read 23063 times)

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 1153
  • Professional amateur ;-P
Re: Offical launch of the 1 Billion Row Challenge in Object Pascal
« Reply #60 on: April 24, 2024, 08:20:52 pm »
Hey my challenge peeps!!

We are moving from the input file having CRLF to having only LF as the line terminator.
Next run, the 27th of April, will be mixed to leave enough time for everyone to make the necessary changes.
The next run after that, the 4th of May, will not be mixed and will expect every entry to have made changes if necessary.
The SHA256 for said input file has already been updated on the README.md file.

Cheers,
Gus
Lazarus 3.99(main) FPC 3.3.1(main) Ubuntu 23.10 64b Dark Theme
Lazarus 3.0.0(stable) FPC 3.2.2(stable) Ubuntu 23.10 64b Dark Theme
http://github.com/gcarreno

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 1153
  • Professional amateur ;-P
Re: Offical launch of the 1 Billion Row Challenge in Object Pascal
« Reply #61 on: April 24, 2024, 08:43:01 pm »
Hey Handoko,

Sorry for the late reply.
Here they are.

Thank you so very much for this.
In the mean time I did not come to check on this since I was expecting a PR and someone else was kind enough to split the files.

You can check them on the repo: https://github.com/gcarreno/UnofficialObjectPascalLogos

Cheers,
Gus
Lazarus 3.99(main) FPC 3.3.1(main) Ubuntu 23.10 64b Dark Theme
Lazarus 3.0.0(stable) FPC 3.2.2(stable) Ubuntu 23.10 64b Dark Theme
http://github.com/gcarreno

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 1153
  • Professional amateur ;-P
Re: Offical launch of the 1 Billion Row Challenge in Object Pascal
« Reply #62 on: April 24, 2024, 08:48:22 pm »
Hey Benibela,

but then I do not have an official hash to compare it with

If you drop the PR I will gladly test it for you.

And, like @Hartmut mentioned, you can always double check with the help of the baseline program.

Just make sure you've read that we are moving from CRLF to LF only terminated input file.

If your program depends on the CRLF line endings, please account for the change.

Cheers,
Gus
Lazarus 3.99(main) FPC 3.3.1(main) Ubuntu 23.10 64b Dark Theme
Lazarus 3.0.0(stable) FPC 3.2.2(stable) Ubuntu 23.10 64b Dark Theme
http://github.com/gcarreno

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 1153
  • Professional amateur ;-P
Re: Offical launch of the 1 Billion Row Challenge in Object Pascal
« Reply #63 on: May 01, 2024, 05:13:39 am »
Hey my challenge peeps!!

Georges suggested that we may give a helping hand to the entries that haven't yet done the change from CRLF to LF only.
If any of you want to have a stab at it, it would be greatly appreciated!!
And, does anyone know how to contact Lurendrejer Aksen? His entry has been kinda abandoned and I would like to see it working properly, if possible.
Many thanks to my wonderful participants in advance!!

Cheers,
Gus
Lazarus 3.99(main) FPC 3.3.1(main) Ubuntu 23.10 64b Dark Theme
Lazarus 3.0.0(stable) FPC 3.2.2(stable) Ubuntu 23.10 64b Dark Theme
http://github.com/gcarreno

cdbc

  • Hero Member
  • *****
  • Posts: 1673
    • http://www.cdbc.dk
Re: Offical launch of the 1 Billion Row Challenge in Object Pascal
« Reply #64 on: May 01, 2024, 07:21:28 am »
Hey Gus
Quote
does anyone know how to contact Lurendrejer Aksen?
You could try to reach out to @Laksen1, he's active here in this forum...
1 (L)urendrejer (Aksen)  :D
Regards Benny
If it ain't broke, don't fix it ;)
PCLinuxOS(rolling release) 64bit -> KDE5 -> FPC 3.2.2 -> Lazarus 2.2.6 up until Jan 2024 from then on it's: KDE5/QT5 -> FPC 3.3.1 -> Lazarus 3.0

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 1153
  • Professional amateur ;-P
Re: Offical launch of the 1 Billion Row Challenge in Object Pascal
« Reply #65 on: May 07, 2024, 06:44:48 pm »
Hey my challenge peeps!!

We are quickly approaching the deadline for our little challenge.
While the end date is next Friday, I will post the last results after I run the automation on Sat. of Sun.
You can still drop PRs after Friday, but they will only be merged after the automation is done on Sat. or Sun.

My intention with this repository is to keep accepting entries for the duration of my life time.
This is the perfect round up of Object Pascal code to demonstrate that it's not dead and can compete with any of the top languages on SO or TIOBE.

I'm also thinking about adding the 8 thread/400 Stations table for comparison with the Java side of things.
But I guess that Paweld has made a better attempt here.
More news on this table later.

Cheers,
Gus
Lazarus 3.99(main) FPC 3.3.1(main) Ubuntu 23.10 64b Dark Theme
Lazarus 3.0.0(stable) FPC 3.2.2(stable) Ubuntu 23.10 64b Dark Theme
http://github.com/gcarreno

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 1153
  • Professional amateur ;-P
Re: Offical launch of the 1 Billion Row Challenge in Object Pascal
« Reply #66 on: May 08, 2024, 11:10:37 pm »
Hey my challenge peeps!!

Looks like we have the results of the comparison back and Object Pascal is quicker than Java.


Reference: https://github.com/gcarreno/1brc-ObjectPascal/discussions/103#discussioncomment-9359820


Cheers,

Gus
Lazarus 3.99(main) FPC 3.3.1(main) Ubuntu 23.10 64b Dark Theme
Lazarus 3.0.0(stable) FPC 3.2.2(stable) Ubuntu 23.10 64b Dark Theme
http://github.com/gcarreno

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 1153
  • Professional amateur ;-P
Re: Offical launch of the 1 Billion Row Challenge in Object Pascal
« Reply #67 on: May 11, 2024, 10:17:38 am »
Hey my challenge peeps!!

The end has past.
Things are ready for the last automation run.
I'll post the results first thing after I've had a sleep.
During that sleep, the automation will run.

Cheers,
Gus
Lazarus 3.99(main) FPC 3.3.1(main) Ubuntu 23.10 64b Dark Theme
Lazarus 3.0.0(stable) FPC 3.2.2(stable) Ubuntu 23.10 64b Dark Theme
http://github.com/gcarreno

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 1153
  • Professional amateur ;-P
Re: Offical launch of the 1 Billion Row Challenge in Object Pascal
« Reply #68 on: May 12, 2024, 05:04:40 pm »
Hey my challenge peeps!!

We have finally arrived at the end of the challenge!!
It's been a fun ride, to say the least.
The final results have been posted, with the usual minor ooopss, of course.

Like stated before, I'll be accepting entries until I'm no longer in this plane of existence.
A new results table for those entries will be made, and it will include all of the entries, old and new.

Eventually, I'll also publish a results table for 400 Stations and 8 threads.
Just need a bit of breathing space to get that done. But it will come.

Let's hope this repository, and the effort of the participants, can stand as an example of the power that still resides in Object Pascal.
Let's hope we can all shut up the nay sayers by merely pointing at it.

All the best for you all in your future Object Pascal endeavours!!

Cheers,
Gus
Lazarus 3.99(main) FPC 3.3.1(main) Ubuntu 23.10 64b Dark Theme
Lazarus 3.0.0(stable) FPC 3.2.2(stable) Ubuntu 23.10 64b Dark Theme
http://github.com/gcarreno

bytebites

  • Hero Member
  • *****
  • Posts: 685
Re: Offical launch of the 1 Billion Row Challenge in Object Pascal
« Reply #69 on: May 13, 2024, 04:51:32 pm »
For comparison, Java contest had 165 solutions.

SymbolicFrank

  • Hero Member
  • *****
  • Posts: 1315
Re: Offical launch of the 1 Billion Row Challenge in Object Pascal
« Reply #70 on: June 26, 2024, 08:10:57 pm »
Ok, this might be a case of "turtles all the way", but shouldn't this be an Object Pascal program, instead of mostly assembly? As Thaddy said, that's why you would want to compare the output of the different backends. I'm pretty sure the winning entry would be a lot slower on any other platform than "LinuxX64", with the main thing of course being generating and finding the hash.

Well, I would probably just use a 32 GB buffer for a CRC32 and an index to the array with names, but then again, I do have 64 GB of RAM.

To sort the list of names, I would start with loading the list into memory and creating 27 threads, who all keep a sorted list with the names. Then read an entry and give it to the correct thread.

Ok, probably not all that fast, but it's the first thing I would try.


After thinking it over:
1. create 27 * 27 threads with a sorted list (name, min, max, total, number)
   each for a letter and the last for numbers and spaces
2. read file into memory in blocks
3. Have main give them a line (a name starting with Aa (or Aá, aa, or AA) is for the first thread, Ab for the second, etc)
4. create output in blocks and write

I think I'll experiment with that in a few days.
« Last Edit: June 26, 2024, 08:45:54 pm by SymbolicFrank »

Gustavo 'Gus' Carreno

  • Hero Member
  • *****
  • Posts: 1153
  • Professional amateur ;-P
Re: Offical launch of the 1 Billion Row Challenge in Object Pascal
« Reply #71 on: June 28, 2024, 07:30:06 pm »
Hey SymbolicFrank,

I think I'll experiment with that in a few days.

I'm glad you're willing to give it a try.

Like I mentioned in many places, I will continue to accept submissions until I get taken from this mortal plane.

Hope to see your submission soon.

All the luck!!

Cheers,
Gus
Lazarus 3.99(main) FPC 3.3.1(main) Ubuntu 23.10 64b Dark Theme
Lazarus 3.0.0(stable) FPC 3.2.2(stable) Ubuntu 23.10 64b Dark Theme
http://github.com/gcarreno

 

TinyPortal © 2005-2018