Paruję niektóre prace w moim programie OCaml (z parmap
), ale wolałbym, aby nie kodować twardo liczby rdzeni w mojej aplikacji. Czy istnieje sposób na uzyskanie liczby rdzeni w czasie wykonywania? Wolałbym nie dodawać żadnych więcej zależności (nic poza parmap
lub JS's core
). Mam przeczucie, że szukam jakiegoś prostego połączenia w stdlib ...Jak uzyskać liczbę rdzeni na maszynie z OCaml?
EDYCJA: nie musi być przenośny. Praca na Linuksie jest wystarczająco dobra.
jeśli nie znajdziesz nic innego (nie zalecając tego jako dobrego przykładu, ale coś, co wcześniej zhakowałem), zawsze możesz przetworzyć 'proc', aby go znaleźć. –
To byłby najgorszy scenariusz ... – rgrinberg
Chciałbym po prostu zawrzeć 'cpuinfo' z czystym interfejsem (znam kilka bibliotek, które to robią, ale nie w OCaml) lub spróbuj użyć FFI z [jeden z C] (http://stackoverflow.com/questions/4586405/get-number-of-cpus-in-linux-using-c). (Wiem, że powiedziałeś, że wolałbyś uniknąć drugiego rozwiązania, ale użyłem czegoś podobnego do profilowania w OCaml wcześniej.) Zauważ, że nawet to pytanie ma szeroką zgodność, że parsowanie 'proc' nie jest takie złe. –