| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
| |
Co-authored-by: Ian Preston <ianopolous@protonmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tonivade implementation
* synchronized block performs better than ReentrantLock
* remove ConcurrentHashMap
* refactor
* use HashMap.newHashMap
* change double to int
* minor refactor
* fix
|
| |
|
|
| |
position processing branches. This provides a small but noticeable speed-up. It also expands and obfuscates the code, unfortunately. (#563)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* fix typo
* automatically label entries using Unsafe
* fix for entry in src/main/java-22/
* backfill leaderboard
---------
Co-authored-by: Jason Nochlin <hundredwatt@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
| |
* Add linl33's implementation
* Update evaluate.sh
---------
Co-authored-by: Gunnar Morling <gunnar.morling@googlemail.com>
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Some clean up, small-scale tuning, and reduce complexity when handling longer names.
* Do actual work in worker subprocess. Main process returns immediately
and OS clean up of the mmap continues in the subprocess.
* Update minor Graal version after CPU release.
* Turn GC back to epsilon GC (although it does not seem to make a
difference).
* Minor tuning for another +1%.
|
| | |
|
| |
|
|
| |
Ensure 8-byte alignment in key buffer for faster comparisons. (#523)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Reduce allocations
* Shrink the heap size
* Calculate hash when reading name (50-100ms difference)
* no need to reverse bytes
* bump heap size
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
- It avoids creating unnecessary Strings objects and handles with the station names with its djb2 hashes instead
- Initializes hashmaps with capacity and load factor
- Adds -XX:+AlwaysPreTouch
|
| | |
|
| |
|
| |
Co-authored-by: Giovanni Cuccu <gcuccu@imolainformatica.it>
|
| |
|
|
|
|
|
|
|
| |
* 0xshivamagarwal implementation
* .
---------
Co-authored-by: Shivam Agarwal <>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* final comit
changing using mappedbytebuffer
changes before using unsafe address
using unsafe
* using graalvm,correct unsafe mem implementation
---------
Co-authored-by: Karthikeyans <karthikeyan.sn@zohocorp.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
* files created by create_fork.sh
* use indexOf
* improved implementation based on rafaelmerino
---------
Co-authored-by: Yann Moisan <yann@zen.ly>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Version 3
* Use SWAR algorithm from netty for finding a symbol in a string
* Faster equals - store the remainder in a long field (- 0.5s)
* optimise parsing numbers - prep
* Keep tweaking parsing logic
* Rewrote number parsing
may be a tiby bit faster it at all
* Epsilon GC
|
| |
|
| |
Co-authored-by: Ian Preston <ianopolous@protonmail.com>
|
| |
|
|
|
|
|
| |
* refactoring
* segregated heap for names
also a different hashing function. turns out hashing just first word is good enough
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
solution (#499)
* 1bc challenge, but one that will run using jdk 8 without unsafe and still do reasonably well.
* Better hashtable
* the fastest GC is no GC
* cleanups
* increased hash size
* removed Playground.java
* collision-handling allocation free hashmap
* formatting
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
| |
Started running perf, perhaps this helps. No idea how to use it yet
|
| | |
|
| | |
|
| |
|
| |
plain old io
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
on automatic closing of ByteBuffers.. previously, a straggler could hold
up closing the ByteBuffers.
Also
- Improve Tracing code
- Parametrize additional options to aid in tuning
Our previous PR was surprising; parallelizing munmap() call did not
yield anywhere near the performance gain I expected. Local machine had
10% gain while testing machine only showed 2% gain. I am still not clear
why it happened and the two best theories I have are
1) Variance due to stragglers (that this change addresses)
2) munmap() is either too fast or too slow relative to the other
instructions compared to our local machine. I don't know which. We'll
have to use adaptive tuning, but that's in a different change.
|
| | |
|
| | |
|
| |
|
|
|
| |
* Use Memory Segment
* Reduce Number of threads
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* v1 - Initial prompt
* Introduce Records
* v1 - Initial prompt
* v2 - Introduce Records
* v3 - Improves code
* v4 - Improves JVM parameter
* GitHub Copilot Chat with the help of agoncal
* Format
* Pass measurements-rounding
* Added prepare script
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
* Version 3
* trying to optimize memory access (-0.2s)
- use smaller segments confined to thread
- unload in parallel
* Only call MemorySegment.address() once (~200ms)
|
| |
|
|
| |
* use Arena and MemorySegment to map entire file at once
* reduced branches and instructions
|
| | |
|
| |
|
|
|
| |
* use bits magic
* apply style
|
| | |
|
| |
|
|
|
|
|
| |
* jparera's initial implementation
* Fixes bugs and improves performance for measurements3.txt
* Allows measurements.txt ending without a LF
|