Giter Club home page Giter Club logo

lockedstructs.jl's Introduction

Typing SVG

If you came here from a job application, you know my name already. I'm a software engineering student looking for co-op work through Carleton University. Specifically something in Ottawa for the Fall term 2024.

I contribute to a couple of open source projects

timetable-kit FICSIT-Fred
An application that makes easily readable timetables from public transit GTFS feeds. I am working on custom styling and additional features. Runs on Python with Jinja2 templates. A Discord bot used to provide tech support to members of the Satisfactory Modding community server. Runs on Python in a minimal Docker container.
image Untitled82_20240624200602

I also make my own little projects

hardqoi FastAmogusCounter.jl
A SIMD-optimized implementation of the Quite Ok Image format. Written in a mix of really cursed Rust and Intel assembly. WIP - still working on implementations using the capabiities of AVX-512 throughout the process instead of just for hash processing. Currently stuck on one particular problem where sequential read-writes are necessary (not possible with SIMD!). Very silly. When r/place was a thing, my friend Feyko had a friendly competition to see how fast we could find all the little pixel crewmates in any frame of r/place. Mine ended up being faster than analysus but was fairly cursed in its implementation. Runs (somehow) on Julia using way too many weird tricks.
image Untitled84_20240624201850

Preferred languages

  • Python 🐍
  • Rust 🦀

I am also familiar and comfortable with (in order of preference and experience)

  • sh
  • C/C++
  • Intel x86_64 assembly
  • Java/Kotlin
  • Javascript/Typescript
  • Julia
  • HTML/CSS

lockedstructs.jl's People

Contributors

borketh avatar

Watchers

 avatar

lockedstructs.jl's Issues

Benchmarking issue for Atomic in README

Hey, just notice that the benchmark for Atomic in the README is not right.

Instead of:

julia> @benchmark a, b, c = t.a[], t.b[], t.c[]
BenchmarkTools.Trial: 10000 samples with 759 evaluations.
 Range (min  max):  165.184 ns   1.940 μs  ┊ GC (min  max): 0.00%  88.14%
 Time  (median):     168.094 ns              ┊ GC (median):    0.00%
 Time  (mean ± σ):   173.240 ns ± 70.656 ns  ┊ GC (mean ± σ):  1.83% ±  4.04%

You need to quote the global variable so that it is interpolated into the expression. The right way is:

julia> @benchmark a, b, c = $(t).a[], $(t).b[], $(t).c[]
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
 Range (min  max):  2.375 ns  21.250 ns  ┊ GC (min  max): 0.00%  0.00%
 Time  (median):     2.458 ns              ┊ GC (median):    0.00%
 Time  (mean ± σ):   2.464 ns ±  0.293 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

See BenchmarkTools.jl's manual for more information. The best practice is to put what you want to benchmark into a function and benchmark that function instead. Still, you must interpolate any global variables:

julia> foo(t::Test) = (t.a[], t.b[], t.c[])

julia> @benchmark foo($t)
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
 Range (min  max):  2.250 ns  25.458 ns  ┊ GC (min  max): 0.00%  0.00%
 Time  (median):     2.333 ns              ┊ GC (median):    0.00%
 Time  (mean ± σ):   2.369 ns ±  0.763 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.