commits
* add elh's Go solution
* update elh. fix a bad for loop and add some tuning env vars
* first double as int
* - hashcode
* JAVA_OPTS empty
* native
* native
* CalculateAverage_melgenek
https://questdb.io/blog/building-faster-hash-table-high-performance-sql-joins/#fastmap-internals
* mvn formatting
* jvm model
* 10k name
* 10k name
* round mean
* limit ChunkSize smaller than Integer.MAX_VALUE
---------
Co-authored-by: martin.cong <martin.cong@zhulinkeji.com>
* Smoofie solution. Kinda slow but it was fun :)
* Format according to mvn build
* Fix semicolon detection, which cause invalid temperature parsing and subsequently segmentation faults due to counter addressing
* Add submission
* Added explanatory comment
* Added comment
* Rename shell script
* Commit formatting
* When last bytes don't fill a vector, take directly
* Add comment
* Deal with subset collisions
* Common sense implementation
* fix filename
* formatting
* remove excess system.out.println
* fix hash collisions
* ajdust so taht segment size smaller than Integer.MAX_VALUE
* dpsoft: first submission
* minor clean up
* map with linear probing
* clean up
* update prepare
* clean up
* remove string format
* add credits
* fix format
* use prepare.sh
* graal 21.0.2
* fix differences
* clean up
* underflow protection
* improve segments generation logic
* clean up
* remove unnecessary alignment in findsegment
* new try
* fix number of segments
* CalculateAverage_pdrakatos
* Rename to be valid with rules
* CalculateAverage_pdrakatos
* Rename to be valid with rules
* Changes on scripts execution
* Fixing bugs causing scripts not to be executed
* Changes on prepare make it compatible
* Fixing passing all tests
* Increase direct memory allocation buffer
* Fixing memory problem causes heap space exception
* Fresh solution to optimize performance of the execution
* New Fresh solution with optimized performance with Custom Hashtable
* Increase maxperm size and xmx to avoid heap spaces error
Backported some of the optimizations from unsafe solution.
Co-authored-by: Giedrius D <d.giedrius@gmail.com>
* Exit earlier from loop when a new Result is created
* 3) Make a cache of long[] name to String, to avoid `ByteBuffer.allocate`
* and creating new UTF-8 strings. I didn't profile, so it's just a guess
* that this map will be a bit faster. Although it's outside the main loop, so
* not a big difference ...;
* 4) Exit earlier from loop if a new entry was created.
* revert: Remove cache to city name
* As I was not able to make it faster... make it slower
As I was not able to make it faster ... so I'll make it slower,
because my current solution should *not* stay at the top, as it added
basically nothing.
* EduardoSaverin
UserName : EduardoSaverin
Total Time : 15.408
CPU : 8 Core (Apple M1 Pro)
RAM : 16GB
* Update CalculateAverage_EduardoSaverin.java
Removed ConcurrentHashMap with Reentrant Lock + HashMap. Since multiple threads causing problems.
* Combine <8 and 8-16 cases into one case.
* Adopt mask-based approach for the <16 length city fast path (idea of Van Phu Do).
* Slightly improved code layout.
* Update perf number.
* 1brc submission by godofwharf
* Fix prepare script
* Modify shebang
* Fix formatting
* Remove unused FastHashMap implementation
Co-authored-by: Giedrius D <d.giedrius@gmail.com>
* Initial chunked impl
* Bytes instead of chars
* Improved number parsing
* Custom hashmap
* Graal and some tuning
* Fix segmenting
* Fix casing
* Unsafe
* Inlining hash calc
* Improved loop
* Cleanup
* Speeding up equals
* Simplifying hash
* Replace concurrenthashmap with lock
* Small changes
* Script reorg
* Native
* Lots of inlining and improvements
* Add back length check
* Fixes
* Small changes
---------
Co-authored-by: Jamal Mulla <j.mulla@mwam.com>
* 1BRC breejesh
* Fix output
* Fix formatting
* Format and remove preview feature
* Optimize merge
* Revert "Optimize merge"
This reverts commit 28c9b4af29e1c90e992e8a1fd4f3258895782c2c.
---------
Co-authored-by: Breejesh Rathod <breejesh.rathod@m2pfintech.com>
* first release
* change constants to names
---------
Co-authored-by: Stephen Von Worley <von@von.io>
* slovdahl: First submission
* More JAVA_OPTS flags, 0.1s better locally
* first double as int
* - hashcode
* JAVA_OPTS empty
* native
* native
* CalculateAverage_melgenek
https://questdb.io/blog/building-faster-hash-table-high-performance-sql-joins/#fastmap-internals
* mvn formatting
* jvm model
* 10k name
* 10k name
* round mean
* limit ChunkSize smaller than Integer.MAX_VALUE
---------
Co-authored-by: martin.cong <martin.cong@zhulinkeji.com>
* dpsoft: first submission
* minor clean up
* map with linear probing
* clean up
* update prepare
* clean up
* remove string format
* add credits
* fix format
* use prepare.sh
* graal 21.0.2
* fix differences
* clean up
* underflow protection
* improve segments generation logic
* clean up
* remove unnecessary alignment in findsegment
* new try
* fix number of segments
* CalculateAverage_pdrakatos
* Rename to be valid with rules
* CalculateAverage_pdrakatos
* Rename to be valid with rules
* Changes on scripts execution
* Fixing bugs causing scripts not to be executed
* Changes on prepare make it compatible
* Fixing passing all tests
* Increase direct memory allocation buffer
* Fixing memory problem causes heap space exception
* Fresh solution to optimize performance of the execution
* New Fresh solution with optimized performance with Custom Hashtable
* Increase maxperm size and xmx to avoid heap spaces error
* Exit earlier from loop when a new Result is created
* 3) Make a cache of long[] name to String, to avoid `ByteBuffer.allocate`
* and creating new UTF-8 strings. I didn't profile, so it's just a guess
* that this map will be a bit faster. Although it's outside the main loop, so
* not a big difference ...;
* 4) Exit earlier from loop if a new entry was created.
* revert: Remove cache to city name
* As I was not able to make it faster... make it slower
As I was not able to make it faster ... so I'll make it slower,
because my current solution should *not* stay at the top, as it added
basically nothing.
* Initial chunked impl
* Bytes instead of chars
* Improved number parsing
* Custom hashmap
* Graal and some tuning
* Fix segmenting
* Fix casing
* Unsafe
* Inlining hash calc
* Improved loop
* Cleanup
* Speeding up equals
* Simplifying hash
* Replace concurrenthashmap with lock
* Small changes
* Script reorg
* Native
* Lots of inlining and improvements
* Add back length check
* Fixes
* Small changes
---------
Co-authored-by: Jamal Mulla <j.mulla@mwam.com>