| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
table for equality (#663)
* 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
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* feat: add solution for cb0s
* Update prepare_cb0s.sh
* Update calculate_average_cb0s.sh
* Update prepare_cb0s.sh
---------
Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
|
| |
|
|
|
|
|
|
|
| |
* final version
* Correct stupid mistake
* min/max trick does not help that much, setting initial value does.
* cut the tail
|
| |
|
|
|
| |
- use smaller regions (increased region count) so there will be less idle time for the workers who completed their tasks
- get rid of some configuration related stuff during initialization which might save a few tens of milliseconds hopefully
- update temperature value parsing instruction order to get benefit of ILP better (hopefully)
|
| |
|
|
|
|
|
|
|
|
|
| |
* decrease instruction level parallelism
it turns out doing 2 things was too much. perf annotate showed spilling.
* more trickery with latency hiding
* work-stealing, lookp tables, credits
* do not assume gender
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Disable The GC
Cuts off sometimes up to 1 seconds
of runtime on my machine.
* Remove Confusing Byte-Order Parameter
Bytes have no Byte-Order ;)
* Provide More Memory to Run the 10K set
* Fix Comparison Function
|
| | |
|
| |
|
|
|
| |
* melgenek: minor improvements
* More memory
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Justin's implementation
* Rename justin to Judekeyser
* Back to previous implementation of vectors
* Reading names as sequences of integers
* Fixing tests
* Scale down the number of NIO workers
---------
Co-authored-by: Justin Dekeyser <justin.dekeyser@Justins-MacBook-Pro.local>
|
| |
|
|
|
|
|
|
|
| |
* attempt to fix segfault, graal native
* fix last bytes for last line handler
* fix typo
* one more attempt
|
| | |
|
| | |
|
| |
|
| |
instead of writing result line by line, implemented random.choices for randomisation of multiple stations and writing large batche ot the disk, also instead of "round" just using :.1f which is probably quicker on a large scale, because it's not a mathematical function
|
| |
|
|
|
|
|
|
| |
Use a better hash function
Don't return index from temperature parsing
extra JVM args
Co-authored-by: Ian Preston <ianopolous@protonmail.com>
|
| |
|
| |
- process multiple lines at a time to get the benefit of ILP (Instruction Level Parallelism) better
|
| |
|
|
|
|
|
|
|
| |
* more efficient max, min
* optimize pipeline
* apply parallel to both submissions
* fix bug
|
| |
|
|
|
| |
* Some optimizations while staying safe
* bug fix not caught on tests
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
next index in case of collision in custom map (#650)
* added code
* Fixed pointers bugs
* removed my own benchmark
* added comment on how I handle hash collisions
* executed mwvn clean verify
* made scripts executable & fixed rounding issues
* Fixed way of dealing with hash collisions
* changed method name sameNameBytes to isSameNameBytes
* changes script from sh to bash
* fixed chunking bug
* Fixed bug in chunking when file size is too small
* added Runtime.getRuntime().availableProcessors
* added improvemnts on string copying, calculation of next index of Map in case on collision & improved string comparing
|
| |
|
|
|
|
|
|
|
| |
* Some clean up, fine tuning, removing non-supported options, added credit
section and additional comments.
* Put license header year back to 2023 to pass checks.
* Remove static linking (as it requires some more setup on the target
machine).
|
| |
|
| |
- use region address directly over null base memory address to get rid of extra offset calculation
|
| |
|
|
|
|
|
| |
* Paweł Adamski - 1BRC challenge
* Paweł Adamski - 1BRC challenge
* Make files executabe
|
| |
|
|
| |
- split big regions into shared smaller tasks, so the workers complete their own tasks can pick up from the remaining instead of leaving its core idle
- reduce number of executed instructions in the hot path
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
/**
* Solution based on thomaswue solution, commit:
* commit d0a28599c293d3afe3291fc3cf169a7b25ae9ae6
* Author: Thomas Wuerthinger
* Date: Sun Jan 21 20:13:48 2024 +0100
*
* The goal here was to try to improve the runtime of his 10k
* solution of: 00:04.516
*
* With Thomas latest changes, his time is probably much better
* already, and maybe even 1st place for the 10k too.
* See: https://github.com/gunnarmorling/1brc/pull/606
*
* But as I was already coding something, I'll submit just to
* see if it will be faster than his *previous* 10k time of
* 00:04.516
*
* Changes:
* It's a similar idea of my previous solution, that if you split
* the chunks evenly, some threads might finish much faster and
* stay idle, so:
* 1) Create more chunks than threads, so the ones that finish first
* can do something;
* 2) Decrease chunk sizes as we get closer to the end of the file.
*/
|
| |
|
|
|
| |
* apply loop unroll trick
* less assign op, a bit faster
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Solution without unsafe
* Solution without unsafe
* Solution without unsafe, remove the usage of bytebuffer, passes the create_measurements3 test
* bug fix for 10k test, update also the CreateMeasurements3.java to use '\n' as newline instead of the os value (if it runs on windows it uses crlf and "breaks" the file format )
* new version that should perform way better than the previous one
* removed prepare script for giovannicuccu
* removed some comments
---------
Co-authored-by: Giovanni Cuccu <gcuccu@imolainformatica.it>
|